org.hibernate.hql.ast

Class SqlGenerator

Implemented Interfaces:
ErrorReporter, SqlTokenTypes

public class SqlGenerator
extends SqlGeneratorBase
implements ErrorReporter

Generates SQL by overriding callback methods in the base class, which does the actual SQL AST walking.
Authors:
Joshua Davis
Steve Ebersole

Field Summary

Fields inherited from class org.hibernate.hql.antlr.SqlGeneratorBase

_tokenNames, _tokenSet_0, _tokenSet_1, _tokenSet_2, _tokenSet_3, _tokenSet_4, _tokenSet_5

Fields inherited from interface org.hibernate.hql.antlr.SqlTokenTypes

AGGREGATE, ALIAS, ALIAS_REF, ALL, AND, ANY, AS, ASCENDING, AVG, BETWEEN, BOGUS, BOTH, CASE, CASE2, CLASS, CLOSE, CLOSE_BRACKET, COLON, COMMA, CONCAT, CONSTANT, CONSTRUCTOR, COUNT, DELETE, DESCENDING, DISTINCT, DIV, DOT, ELEMENTS, ELSE, EMPTY, END, EOF, EQ, ESCAPE, ESCqs, EXISTS, EXPONENT, EXPR_LIST, FALSE, FETCH, FILTERS, FILTER_ENTITY, FLOAT_SUFFIX, FROM, FROM_FRAGMENT, FULL, GE, GROUP, GT, HAVING, HEX_DIGIT, IDENT, ID_LETTER, ID_START_LETTER, IMPLIED_FROM, IN, INDEX_OP, INDICES, INNER, INSERT, INTO, IN_LIST, IS, IS_NOT_NULL, IS_NULL, JAVA_CONSTANT, JOIN, JOIN_FRAGMENT, LE, LEADING, LEFT, LEFT_OUTER, LIKE, LITERAL_ascending, LITERAL_by, LITERAL_descending, LT, MAX, MEMBER, METHOD_CALL, METHOD_NAME, MIN, MINUS, NAMED_PARAM, NE, NEW, NOT, NOT_BETWEEN, NOT_IN, NOT_LIKE, NULL, NULL_TREE_LOOKAHEAD, NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG, OBJECT, OF, ON, OPEN, OPEN_BRACKET, OR, ORDER, ORDER_ELEMENT, OUTER, PARAM, PLUS, PROPERTIES, PROPERTY_REF, QUERY, QUOTED_STRING, RANGE, RIGHT, RIGHT_OUTER, ROW_STAR, SELECT, SELECT_CLAUSE, SELECT_COLUMNS, SELECT_EXPR, SELECT_FROM, SET, SOME, SQL_NE, SQL_NODE, SQL_TOKEN, STAR, SUM, THEN, THETA_JOINS, TRAILING, TRUE, UNARY_MINUS, UNARY_PLUS, UNION, UPDATE, VECTOR_EXPR, VERSIONED, WEIRD_IDENT, WHEN, WHERE, WITH, WS

Constructor Summary

SqlGenerator(SessionFactoryImplementor sfi)

Method Summary

protected void
beginFunctionTemplate(AST m, AST i)
protected void
commaBetweenParameters(String comma)
protected void
endFunctionTemplate(AST m)
protected void
fromFragmentSeparator(AST a)
ParseErrorHandler
getParseErrorHandler()
String
getSQL()
protected void
nestedFromFragment(AST d, AST parent)
protected void
optionalSpace()
protected void
out(AST n)
protected void
out(String s)
static void
panic()
void
reportError(RecognitionException e)
void
reportError(String s)
void
reportWarning(String s)

Methods inherited from class org.hibernate.hql.antlr.SqlGeneratorBase

additiveExpr, addrExpr, aggregate, arguments, arithmeticExpr, beginFunctionTemplate, binaryComparisonExpression, booleanExpr, booleanOp, caseExpr, commaBetweenParameters, comparisonExpr, conditionList, constant, count, countExpr, deleteStatement, distinctOrAll, endFunctionTemplate, exoticComparisonExpression, expr, filters, from, fromFragmentSeparator, fromTable, getLastChar, getStringBuffer, groupExprs, hasText, inList, insertStatement, likeEscape, methodCall, multiplicativeExpr, nestedExpr, nestedExprAfterMinusDiv, nestedFromFragment, nyi, optionalSpace, orderDirection, orderExprs, out, out, parameter, parenSelect, quantified, selectAtom, selectClause, selectColumn, selectExpr, selectStatement, separator, setClause, simpleExpr, simpleExprList, sqlToken, statement, tableJoin, thetaJoins, updateStatement, whereClause, whereClauseExpr, whereExpr

Constructor Details

SqlGenerator

public SqlGenerator(SessionFactoryImplementor sfi)

Method Details

beginFunctionTemplate

protected void beginFunctionTemplate(AST m,
                                     AST i)
Overrides:
beginFunctionTemplate in interface SqlGeneratorBase

commaBetweenParameters

protected void commaBetweenParameters(String comma)
Overrides:
commaBetweenParameters in interface SqlGeneratorBase

endFunctionTemplate

protected void endFunctionTemplate(AST m)
Overrides:
endFunctionTemplate in interface SqlGeneratorBase

fromFragmentSeparator

protected void fromFragmentSeparator(AST a)
Overrides:
fromFragmentSeparator in interface SqlGeneratorBase

getParseErrorHandler

public ParseErrorHandler getParseErrorHandler()

getSQL

public String getSQL()

nestedFromFragment

protected void nestedFromFragment(AST d,
                                  AST parent)
Overrides:
nestedFromFragment in interface SqlGeneratorBase

optionalSpace

protected void optionalSpace()
Overrides:
optionalSpace in interface SqlGeneratorBase

out

protected void out(AST n)
Overrides:
out in interface SqlGeneratorBase

out

protected void out(String s)
Overrides:
out in interface SqlGeneratorBase

panic

public static void panic()

reportError

public void reportError(RecognitionException e)
Specified by:
reportError in interface ErrorReporter

reportError

public void reportError(String s)
Specified by:
reportError in interface ErrorReporter

reportWarning

public void reportWarning(String s)
Specified by:
reportWarning in interface ErrorReporter