|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
SqlOperator.TypeInference | Strategy to infer the type of an operator call from the type of the operands. |
SqlValidator.CatalogReader | A CatalogReader supplies catalog information for a SqlValidator . |
SqlValidator.Table | A Table supplies a SqlValidator with the metadata
for a table. |
Class Summary | |
SqlBinaryOperator | SqlBinaryOperator is a binary operator. |
SqlCall | A SqlCall is a call to an operator . |
SqlDelete | A SqlDelete is a node of a parse tree which represents
a DELETE statement. |
SqlDialect | SqlDialect encapsulates the differences between dialects of
SQL, for the benefit of a SqlWriter . |
SqlExplain | A SqlExplain is a node of a parse tree which represents
an EXPLAIN PLAN statement. |
SqlFunction | A SqlFunction is a type of operator which has conventional
function-call syntax. |
SqlIdentifier | A SqlIdentifier is an identifier, possibly compound. |
SqlInsert | A SqlInsert is a node of a parse tree which represents
an INSERT statement. |
SqlJoin | A SqlJoin is ... |
SqlJoinOperator | SqlJoinOperator describes the syntax of the SQL
JOIN operator. |
SqlJoinOperator.ConditionType | Enumerates the types of condition in a join expression. |
SqlJoinOperator.JoinType | Enumerates the types of join. |
SqlKind | Enumerates the possible types of SqlNode . |
SqlLiteral | A SqlLiteral is a constant. |
SqlNode | A SqlNode is a SQL parse tree. |
SqlNode.DatabaseMetaDataInvocationHandler | Handles particular DatabaseMetaData methods; invocations of
other methods will fall through to the base class, BarfingInvocationHandler , which will throw an error. |
SqlNodeList | A SqlNodeList is a list of SqlNode s. |
SqlOperator | A SqlOperator is a type of node in a SQL parse tree (it is NOT
a node in a SQL parse tree). |
SqlOperator.Syntax | Syntax enumerates possible syntactic types of operators. |
SqlOperatorTable | SqlOperatorTable is a singleton which contains an instance of
each operator. |
SqlPostfixOperator | A postfix unary operator. |
SqlPrefixOperator | A unary operator. |
SqlSelect | A SqlSelect is a node of a parse tree which represents a
select statement. |
SqlSelectOperator | An operator describing a query. |
SqlSpecialOperator | Generic operator for nodes with special syntax. |
SqlUtil | Contains utility functions related to SQL parsing, all static. |
SqlValidator | SqlValidator validates the parse tree of a SQL statement, and
provides semantic information about the parse tree. |
SqlWriter | A SqlWriter is the target to construct a SQL statement from a
parse tree. |
Provides an SQL parser and object model. This package, and the dependent
net.sf.saffron.sql.parser
package, are independent of the other saffron
packages, so may be used standalone.
Revision | $Id: //open/saffron/src/net/sf/saffron/sql/package.html#1 $ |
---|---|
Copyright | (C) Copyright 2003-2003 Disruptive Technologies, Inc. |
Author | Julian Hyde |
SqlParser
parses a SQL string to a parse tree. It
only performs the most basic syntactic validation.
Every node in the parse tree is a SqlNode
. Sub-types are:
SqlLiteral
represents a boolean, numeric, string, or
date constant, or the value NULL
.SqlIdentifier
represents an identifier, such as
EMPNO
or emp.deptno
.SqlCall
is a call to an operator or function. By means
of special operators, we can use this construct to represent virtually every
non-leaf node in the tree. For example, a select
statement is a
call to the 'select' operator.SqlNodeList
is a list of nodes.A SqlOperator
describes the behavior of a node in the
tree, such as how to un-parse a SqlCall
into a SQL string.
It is important to note that operators are metadata, not data: there is only one
SqlOperator
instance representing the '=' operator, even though
there may be many calls to it.
SqlOperator
has several derived classes which make it easy to
define new operators: SqlFunction
, SqlBinaryOperator
, SqlPrefixOperator
, SqlPostfixOperator
. And there are singleton classes for special
syntactic constructs SqlSelectOperator
and SqlJoinOperator
. (These special operators even have their own
sub-types of SqlCall
: SqlSelect
and
SqlJoin
.)
A SqlOperatorTable
is a collection of operators. By
supplying your own operator table, you can customize the dialect of SQL without
modifying the parser.
SqlValidator
checks that a tree of SqlNode
s is
semantically valid. You supply a SqlOperatorTable
to
describe the available functions and operators, and a SqlValidator.CatalogReader
for access to the database's catalog.
A SqlWriter
converts a tree of SqlNode
s into a
SQL string. A SqlDialect
defines how this happens.
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |