org.hibernate.hql.ast
Class SqlGenerator

java.lang.Object
  extended by antlr.TreeParser
      extended by org.hibernate.hql.antlr.SqlGeneratorBase
          extended by org.hibernate.hql.ast.SqlGenerator
All Implemented Interfaces:
SqlTokenTypes, ErrorReporter

public class SqlGenerator
extends SqlGeneratorBase
implements ErrorReporter

Generates SQL by overriding callback methods in the base class, which does the actual SQL AST walking.

Author:
Joshua Davis, Steve Ebersole

Field Summary
static boolean REGRESSION_STYLE_CROSS_JOINS
           
 
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 class antlr.TreeParser
_retTree, astFactory, ASTNULL, inputState, returnAST, tokenNames
 
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, ENTRY, EOF, EQ, ESCAPE, ESCqs, EXISTS, EXPONENT, EXPR_LIST, FALSE, FETCH, FILTER_ENTITY, FILTERS, FLOAT_SUFFIX, FROM, FROM_FRAGMENT, FULL, GE, GROUP, GT, HAVING, HEX_DIGIT, ID_LETTER, ID_START_LETTER, IDENT, IMPLIED_FROM, IN, IN_LIST, INDEX_OP, INDICES, INNER, INSERT, INTO, IS, IS_NOT_NULL, IS_NULL, JAVA_CONSTANT, JOIN, JOIN_FRAGMENT, KEY, LE, LEADING, LEFT, LEFT_OUTER, LIKE, LITERAL_ascending, LITERAL_by, LITERAL_descending, LT, MAX, MEMBER, METHOD_CALL, METHOD_NAME, MIN, MINUS, MOD, NAMED_PARAM, NE, NEW, NOT, NOT_BETWEEN, NOT_IN, NOT_LIKE, NULL, NULL_TREE_LOOKAHEAD, NUM_BIG_DECIMAL, NUM_BIG_INTEGER, 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, RESULT_VARIABLE_REF, 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, VALUE, VECTOR_EXPR, VERSIONED, WEIRD_IDENT, WHEN, WHERE, WITH, WS
 
Constructor Summary
SqlGenerator(SessionFactoryImplementor sfi)
           
 
Method Summary
protected  void beginFunctionTemplate(antlr.collections.AST node, antlr.collections.AST nameNode)
           
protected  void commaBetweenParameters(String comma)
           
protected  void endFunctionTemplate(antlr.collections.AST node)
           
protected  void fromFragmentSeparator(antlr.collections.AST a)
           
 List getCollectedParameters()
           
 ParseErrorHandler getParseErrorHandler()
           
 String getSQL()
           
protected  void nestedFromFragment(antlr.collections.AST d, antlr.collections.AST parent)
           
protected  void optionalSpace()
          Add a aspace if the previous token was not a space or a parenthesis.
protected  void out(antlr.collections.AST n)
           
protected  void out(String s)
           
static void panic()
           
 void reportError(antlr.RecognitionException e)
           
 void reportError(String s)
           
 void reportWarning(String s)
           
 void traceIn(String ruleName, antlr.collections.AST tree)
           
 void traceOut(String ruleName, antlr.collections.AST tree)
           
 
Methods inherited from class org.hibernate.hql.antlr.SqlGeneratorBase
additiveExpr, addrExpr, aggregate, arguments, arithmeticExpr, binaryComparisonExpression, booleanExpr, booleanOp, caseExpr, comparisonExpr, conditionList, constant, count, countExpr, deleteStatement, distinctOrAll, exoticComparisonExpression, expr, filters, from, fromTable, getLastChar, getStringBuffer, groupExprs, hasText, inList, insertStatement, likeEscape, mapComponentReference, methodCall, multiplicativeExpr, nestedExpr, nestedExprAfterMinusDiv, nyi, orderDirection, orderExprs, parameter, parenSelect, quantified, selectAtom, selectClause, selectColumn, selectExpr, selectStatement, separator, setClause, simpleExpr, simpleExprList, sqlToken, statement, tableJoin, thetaJoins, updateStatement, whereClause, whereClauseExpr, whereExpr
 
Methods inherited from class antlr.TreeParser
getAST, getASTFactory, getTokenName, getTokenNames, match, match, matchNot, setASTFactory, setASTNodeClass, setASTNodeType, traceIndent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REGRESSION_STYLE_CROSS_JOINS

public static boolean REGRESSION_STYLE_CROSS_JOINS
Constructor Detail

SqlGenerator

public SqlGenerator(SessionFactoryImplementor sfi)
Method Detail

traceIn

public void traceIn(String ruleName,
                    antlr.collections.AST tree)
Overrides:
traceIn in class antlr.TreeParser

traceOut

public void traceOut(String ruleName,
                     antlr.collections.AST tree)
Overrides:
traceOut in class antlr.TreeParser

getCollectedParameters

public List getCollectedParameters()

out

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

out

protected void out(antlr.collections.AST n)
Overrides:
out in class SqlGeneratorBase

commaBetweenParameters

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

reportError

public void reportError(antlr.RecognitionException e)
Specified by:
reportError in interface ErrorReporter
Overrides:
reportError in class antlr.TreeParser

reportError

public void reportError(String s)
Specified by:
reportError in interface ErrorReporter
Overrides:
reportError in class antlr.TreeParser

reportWarning

public void reportWarning(String s)
Specified by:
reportWarning in interface ErrorReporter
Overrides:
reportWarning in class antlr.TreeParser

getParseErrorHandler

public ParseErrorHandler getParseErrorHandler()

getSQL

public String getSQL()

optionalSpace

protected void optionalSpace()
Description copied from class: SqlGeneratorBase
Add a aspace if the previous token was not a space or a parenthesis.

Overrides:
optionalSpace in class SqlGeneratorBase

beginFunctionTemplate

protected void beginFunctionTemplate(antlr.collections.AST node,
                                     antlr.collections.AST nameNode)
Overrides:
beginFunctionTemplate in class SqlGeneratorBase

endFunctionTemplate

protected void endFunctionTemplate(antlr.collections.AST node)
Overrides:
endFunctionTemplate in class SqlGeneratorBase

panic

public static void panic()

fromFragmentSeparator

protected void fromFragmentSeparator(antlr.collections.AST a)
Overrides:
fromFragmentSeparator in class SqlGeneratorBase

nestedFromFragment

protected void nestedFromFragment(antlr.collections.AST d,
                                  antlr.collections.AST parent)
Overrides:
nestedFromFragment in class SqlGeneratorBase


Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.