Top Description Inners Fields Constructors Methods
org.hibernate.hql.internal.ast

public Class SqlGenerator

extends SqlGeneratorBase
implements ErrorReporter
Class Inheritance
All Implemented Interfaces
org.hibernate.hql.internal.ast.ErrorReporter
Imports
java.util.ArrayList, .Arrays, .LinkedList, .List, org.hibernate.NullPrecedence, .QueryException, org.hibernate.dialect.function.SQLFunction, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.hql.internal.antlr.SqlGeneratorBase, org.hibernate.hql.internal.ast.tree.CollectionSizeNode, .FromElement, .FunctionNode, .Node, .ParameterContainer, .ParameterNode, org.hibernate.hql.internal.ast.util.TokenPrinters, org.hibernate.internal.CoreLogging, .CoreMessageLogger, org.hibernate.internal.util.StringHelper, org.hibernate.internal.util.collections.CollectionHelper, org.hibernate.param.ParameterSpecification, org.hibernate.type.Type, antlr.RecognitionException, antlr.collections.AST

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

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
SqlGenerator.CastFunctionArguments

SQL function processing code redirects generated SQL output to an instance of this class which catches function arguments.

pack-priv class
SqlGenerator.DefaultWriter

The default SQL writer.

pack-priv static interface
pack-priv static interface
SqlGenerator.SqlWriter

Writes SQL fragments.

pack-priv static class
SqlGenerator.StandardFunctionArguments

SQL function processing code redirects generated SQL output to an instance of this class which catches function arguments.

Field Summary

Modifier and TypeField and Description
private List<ParameterSpecification>
private static final CoreMessageLogger
private LinkedList<SqlGenerator.SqlWriter>
private ParseErrorHandler
public static boolean
private SessionFactoryImplementor
sessionFactory

Deprecated as a consequence of SessionFactoryImplementor being deprecated.
private int
private SqlGenerator.SqlWriter
writer

all append invocations on the buf should go through this Output instance variable.

Inherited from org.hibernate.hql.internal.antlr.SqlGeneratorBase:
_tokenNames_tokenSet_0_tokenSet_1_tokenSet_2_tokenSet_3_tokenSet_4_tokenSet_5exprs

Constructor Summary

AccessConstructor and Description
public
SqlGenerator(SessionFactoryImplementor sfi)

Deprecated as a consequence of SessionFactoryImplementor being deprecated.

Method Summary

Modifier and TypeMethod and Description
protected void
protected void
private String
protected void
protected void
public List<ParameterSpecification>
public ParseErrorHandler
public String
protected void
protected void
optionalSpace()

Overrides org.hibernate.hql.internal.antlr.SqlGeneratorBase.optionalSpace.

Add a aspace if the previous token was not a space or a parenthesis.
protected void
protected void
public static void
protected void
protected String
renderOrderByElement(String expression, String order, String nulls)

Overrides org.hibernate.hql.internal.antlr.SqlGeneratorBase.renderOrderByElement.

Implementation Note

This is just a stub.

public void
reportError(RecognitionException e)

Overrides antlr.TreeParser.reportError.

Implements org.hibernate.hql.internal.ast.ErrorReporter.reportError.

Parser error-reporting function can be overridden in subclass
public void
reportError(String s)

Overrides antlr.TreeParser.reportError.

Implements org.hibernate.hql.internal.ast.ErrorReporter.reportError.

Parser error-reporting function can be overridden in subclass
public void
reportWarning(String s)

Overrides antlr.TreeParser.reportWarning.

Implements org.hibernate.hql.internal.ast.ErrorReporter.reportWarning.

Parser warning-reporting function can be overridden in subclass
public void
traceIn(String ruleName, AST tree)

Overrides antlr.TreeParser.traceIn.

public void
traceOut(String ruleName, AST tree)

Overrides antlr.TreeParser.traceOut.

private void
Inherited from org.hibernate.hql.internal.antlr.SqlGeneratorBase:
additiveExpraddrExpraggregateargumentsarithmeticExprbinaryComparisonExpressionbooleanExprbooleanOpcaptureExpressionFinishcaptureExpressionStartcaseExprcastExpressioncastTargetTypecomparisonExprconditionListconstantcountcountExprdeleteStatementdistinctOrAllexoticComparisonExpressionexprfiltersfromfromTablegetLastChargetStringBuildergroupExprshasTextinListinsertStatementlikeEscapemapComponentReferencemethodCallmultiplicativeExprnestedExprnestedExprAfterMinusDivnullOrderingnullPrecedencenyiorderDirectionorderExprsparameterparenSelectquantifiedresetCaptureselectAtomselectBooleanExprselectClauseselectColumnselectExprselectStatementseparatorsetClausesimpleExprsimpleExprListsimpleOrTupleExprsqlTokenstatementtableJointhetaJoinstupleExprupdateStatementwhereClausewhereClauseExprwhereExpr

Field Detail

collectedParametersback to summary
private List<ParameterSpecification> collectedParameters
LOGback to summary
private static final CoreMessageLogger LOG
outputStackback to summary
private LinkedList<SqlGenerator.SqlWriter> outputStack
parseErrorHandlerback to summary
private ParseErrorHandler parseErrorHandler
REGRESSION_STYLE_CROSS_JOINSback to summary
public static boolean REGRESSION_STYLE_CROSS_JOINS
sessionFactoryback to summary
private SessionFactoryImplementor sessionFactory

Deprecated

as a consequence of SessionFactoryImplementor being deprecated. See corresponding docs for further information.

traceDepthback to summary
private int traceDepth

Hides antlr.TreeParser.traceDepth.

writerback to summary
private SqlGenerator.SqlWriter writer

all append invocations on the buf should go through this Output instance variable. The value of this variable may be temporarily substituted by sql function processing code to catch generated arguments. This is because sql function templates need arguments as separate string chunks that will be assembled into the target dialect-specific function call.

Constructor Detail

SqlGeneratorback to summary
public SqlGenerator(SessionFactoryImplementor sfi)

Deprecated

as a consequence of SessionFactoryImplementor being deprecated. See corresponding docs for further information.

Method Detail

beginFunctionTemplateback to summary
protected void beginFunctionTemplate(AST node, AST nameNode)

Overrides org.hibernate.hql.internal.antlr.SqlGeneratorBase.beginFunctionTemplate.

Annotations
@Override
betweenFunctionArgumentsback to summary
protected void betweenFunctionArguments()

Overrides org.hibernate.hql.internal.antlr.SqlGeneratorBase.betweenFunctionArguments.

Annotations
@Override
buildTraceNodeNameback to summary
private String buildTraceNodeName(AST tree)
endFunctionTemplateback to summary
protected void endFunctionTemplate(AST node)

Overrides org.hibernate.hql.internal.antlr.SqlGeneratorBase.endFunctionTemplate.

Annotations
@Override
fromFragmentSeparatorback to summary
protected void fromFragmentSeparator(AST a)

Overrides org.hibernate.hql.internal.antlr.SqlGeneratorBase.fromFragmentSeparator.

Annotations
@Override
getCollectedParametersback to summary
public List<ParameterSpecification> getCollectedParameters()
getParseErrorHandlerback to summary
public ParseErrorHandler getParseErrorHandler()
getSQLback to summary
public String getSQL()
nestedFromFragmentback to summary
protected void nestedFromFragment(AST d, AST parent)

Overrides org.hibernate.hql.internal.antlr.SqlGeneratorBase.nestedFromFragment.

Annotations
@Override
optionalSpaceback to summary
protected void optionalSpace()

Overrides org.hibernate.hql.internal.antlr.SqlGeneratorBase.optionalSpace.

Doc from org.hibernate.hql.internal.antlr.SqlGeneratorBase.optionalSpace.

Add a aspace if the previous token was not a space or a parenthesis.

Annotations
@Override
outback to summary
protected void out(String s)

Overrides org.hibernate.hql.internal.antlr.SqlGeneratorBase.out.

Annotations
@Override
outback to summary
protected void out(AST n)

Overrides org.hibernate.hql.internal.antlr.SqlGeneratorBase.out.

Annotations
@Override
panicback to summary
public static void panic()

Hides antlr.TreeParser.panic.

renderCollectionSizeback to summary
protected void renderCollectionSize(AST ast)

Overrides org.hibernate.hql.internal.antlr.SqlGeneratorBase.renderCollectionSize.

Annotations
@Override
renderOrderByElementback to summary
protected String renderOrderByElement(String expression, String order, String nulls)

Overrides org.hibernate.hql.internal.antlr.SqlGeneratorBase.renderOrderByElement.

Doc from org.hibernate.hql.internal.antlr.SqlGeneratorBase.renderOrderByElement.

Implementation Note

This is just a stub. SqlGenerator contains the effective implementation.

Annotations
@Override
reportErrorback to summary
public void reportError(RecognitionException e)

Overrides antlr.TreeParser.reportError.

Implements org.hibernate.hql.internal.ast.ErrorReporter.reportError.

Doc from antlr.TreeParser.reportError.

Parser error-reporting function can be overridden in subclass

Annotations
@Override
reportErrorback to summary
public void reportError(String s)

Overrides antlr.TreeParser.reportError.

Implements org.hibernate.hql.internal.ast.ErrorReporter.reportError.

Doc from antlr.TreeParser.reportError.

Parser error-reporting function can be overridden in subclass

Annotations
@Override
reportWarningback to summary
public void reportWarning(String s)

Overrides antlr.TreeParser.reportWarning.

Implements org.hibernate.hql.internal.ast.ErrorReporter.reportWarning.

Doc from antlr.TreeParser.reportWarning.

Parser warning-reporting function can be overridden in subclass

Annotations
@Override
traceInback to summary
public void traceIn(String ruleName, AST tree)

Overrides antlr.TreeParser.traceIn.

Annotations
@Override
traceOutback to summary
public void traceOut(String ruleName, AST tree)

Overrides antlr.TreeParser.traceOut.

Annotations
@Override
writeCrossJoinSeparatorback to summary
private void writeCrossJoinSeparator()
org.hibernate.hql.internal.ast back to summary

pack-priv Class SqlGenerator.CastFunctionArguments

extends Object
implements FunctionArgumentsCollectingWriter
Class Inheritance
  • java.lang.Object
  • org.hibernate.hql.internal.ast.SqlGenerator.CastFunctionArguments
All Implemented Interfaces
org.hibernate.hql.internal.ast.SqlGenerator.FunctionArgumentsCollectingWriter, org.hibernate.hql.internal.ast.SqlGenerator.SqlWriter

SQL function processing code redirects generated SQL output to an instance of this class which catches function arguments.

Field Summary

Modifier and TypeField and Description
private String
private String
private boolean

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
public void
public List<String>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

castExpressionback to summary
private String castExpression
castTargetTypeback to summary
private String castTargetType
startedTypeback to summary
private boolean startedType

Constructor Detail

CastFunctionArgumentsback to summary
pack-priv CastFunctionArguments()

Method Detail

betweenFunctionArgumentsback to summary
public void betweenFunctionArguments()

Implements org.hibernate.hql.internal.ast.SqlGenerator.SqlWriter.betweenFunctionArguments.

Annotations
@Override
clauseback to summary
public void clause(String clause)

Implements org.hibernate.hql.internal.ast.SqlGenerator.SqlWriter.clause.

Annotations
@Override
getArgsback to summary
public List<String> getArgs()

Implements org.hibernate.hql.internal.ast.SqlGenerator.FunctionArgumentsCollectingWriter.getArgs.

org.hibernate.hql.internal.ast back to summary

pack-priv Class SqlGenerator.DefaultWriter

extends Object
implements SqlWriter
Class Inheritance
All Implemented Interfaces
org.hibernate.hql.internal.ast.SqlGenerator.SqlWriter

The default SQL writer.

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

DefaultWriterback to summary
pack-priv DefaultWriter()

Method Detail

betweenFunctionArgumentsback to summary
public void betweenFunctionArguments()

Implements org.hibernate.hql.internal.ast.SqlGenerator.SqlWriter.betweenFunctionArguments.

Annotations
@Override
clauseback to summary
public void clause(String clause)

Implements org.hibernate.hql.internal.ast.SqlGenerator.SqlWriter.clause.

Annotations
@Override
org.hibernate.hql.internal.ast back to summary

pack-priv Interface SqlGenerator.FunctionArgumentsCollectingWriter

extends SqlWriter
Known Direct Implementers
org.hibernate.hql.internal.ast.SqlGenerator.StandardFunctionArguments, org.hibernate.hql.internal.ast.SqlGenerator.CastFunctionArguments

Method Summary

Modifier and TypeMethod and Description
public List<String>
Inherited from org.hibernate.hql.internal.ast.SqlGenerator.SqlWriter:
betweenFunctionArgumentsclause

Method Detail

getArgsback to summary
public List<String> getArgs()
org.hibernate.hql.internal.ast back to summary

pack-priv Interface SqlGenerator.SqlWriter

Known Direct Subinterfaces
org.hibernate.hql.internal.ast.SqlGenerator.FunctionArgumentsCollectingWriter
Known Direct Implementers
org.hibernate.hql.internal.ast.SqlGenerator.DefaultWriter

Writes SQL fragments.

Method Summary

Modifier and TypeMethod and Description
public void
public void
clause(String clause)

Method Detail

betweenFunctionArgumentsback to summary
public void betweenFunctionArguments()
clauseback to summary
public void clause(String clause)
org.hibernate.hql.internal.ast back to summary

pack-priv Class SqlGenerator.StandardFunctionArguments

extends Object
implements FunctionArgumentsCollectingWriter
Class Inheritance
  • java.lang.Object
  • org.hibernate.hql.internal.ast.SqlGenerator.StandardFunctionArguments
All Implemented Interfaces
org.hibernate.hql.internal.ast.SqlGenerator.FunctionArgumentsCollectingWriter, org.hibernate.hql.internal.ast.SqlGenerator.SqlWriter

SQL function processing code redirects generated SQL output to an instance of this class which catches function arguments.

Field Summary

Modifier and TypeField and Description
private int
private final List<String>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
public void
public List<String>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

argIndback to summary
private int argInd
argsback to summary
private final List<String> args

Constructor Detail

StandardFunctionArgumentsback to summary
pack-priv StandardFunctionArguments()

Method Detail

betweenFunctionArgumentsback to summary
public void betweenFunctionArguments()

Implements org.hibernate.hql.internal.ast.SqlGenerator.SqlWriter.betweenFunctionArguments.

Annotations
@Override
clauseback to summary
public void clause(String clause)

Implements org.hibernate.hql.internal.ast.SqlGenerator.SqlWriter.clause.

Annotations
@Override
getArgsback to summary
public List<String> getArgs()

Implements org.hibernate.hql.internal.ast.SqlGenerator.FunctionArgumentsCollectingWriter.getArgs.