类 HqlSqlWalker

    • 构造器详细资料

      • HqlSqlWalker

        public HqlSqlWalker​(QueryTranslatorImpl qti,
                            SessionFactoryImplementor sfi,
                            HqlParser parser,
                            Map tokenReplacements,
                            String collectionRole)
        Create a new tree transformer.
        参数:
        qti - Back pointer to the query translator implementation that is using this tree transform.
        sfi - The session factory implementor where the Hibernate mappings can be found.
        parser - A reference to the phase-1 parser
        tokenReplacements - Registers the token replacement map with the walker. This map will be used to substitute function names and constants.
        collectionRole - The collection role name of the collection used as the basis for the filter, NULL if this is not a collection filter compilation.
    • 方法详细资料

      • traceIn

        public void traceIn​(String ruleName,
                            antlr.collections.AST tree)
        覆盖:
        traceIn 在类中 antlr.TreeParser
      • traceOut

        public void traceOut​(String ruleName,
                             antlr.collections.AST tree)
        覆盖:
        traceOut 在类中 antlr.TreeParser
      • isFilter

        public boolean isFilter()
      • getCollectionFilterRole

        public String getCollectionFilterRole()
      • isInEntityGraph

        public boolean isInEntityGraph()
      • getTokenReplacements

        public Map getTokenReplacements()
      • getCurrentFromClause

        public FromClause getCurrentFromClause()
      • reportError

        public void reportError​(antlr.RecognitionException e)
        指定者:
        reportError 在接口中 ErrorReporter
        覆盖:
        reportError 在类中 antlr.TreeParser
      • reportError

        public void reportError​(String s)
        指定者:
        reportError 在接口中 ErrorReporter
        覆盖:
        reportError 在类中 antlr.TreeParser
      • reportWarning

        public void reportWarning​(String s)
        指定者:
        reportWarning 在接口中 ErrorReporter
        覆盖:
        reportWarning 在类中 antlr.TreeParser
      • getQuerySpaces

        public Set<Serializable> getQuerySpaces()
        Returns the set of unique query spaces (a.k.a. table names) that occurred in the query.
        返回:
        A set of table names (Strings).
      • createFromElement

        protected antlr.collections.AST createFromElement​(String path,
                                                          antlr.collections.AST alias,
                                                          antlr.collections.AST propertyFetch)
                                                   throws antlr.SemanticException
        覆盖:
        createFromElement 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • createFromFilterElement

        protected antlr.collections.AST createFromFilterElement​(antlr.collections.AST filterEntity,
                                                                antlr.collections.AST alias)
                                                         throws antlr.SemanticException
        覆盖:
        createFromFilterElement 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • createFromJoinElement

        protected void createFromJoinElement​(antlr.collections.AST path,
                                             antlr.collections.AST alias,
                                             int joinType,
                                             antlr.collections.AST fetchNode,
                                             antlr.collections.AST propertyFetch,
                                             antlr.collections.AST with)
                                      throws antlr.SemanticException
        覆盖:
        createFromJoinElement 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • finishFromClause

        protected void finishFromClause​(antlr.collections.AST fromClause)
                                 throws antlr.SemanticException
        覆盖:
        finishFromClause 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • pushFromClause

        protected void pushFromClause​(antlr.collections.AST fromNode,
                                      antlr.collections.AST inputFromNode)
        Sets the current 'FROM' context.
        覆盖:
        pushFromClause 在类中 HqlSqlBaseWalker
        参数:
        fromNode - The new 'FROM' context.
        inputFromNode - The from node from the input AST.
      • lookupAlias

        protected void lookupAlias​(antlr.collections.AST aliasRef)
                            throws antlr.SemanticException
        覆盖:
        lookupAlias 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • getImpliedJoinType

        public JoinType getImpliedJoinType()
      • lookupProperty

        protected antlr.collections.AST lookupProperty​(antlr.collections.AST dot,
                                                       boolean root,
                                                       boolean inSelect)
                                                throws antlr.SemanticException
        覆盖:
        lookupProperty 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • lookupNonQualifiedProperty

        protected antlr.collections.AST lookupNonQualifiedProperty​(antlr.collections.AST property)
                                                            throws antlr.SemanticException
        覆盖:
        lookupNonQualifiedProperty 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • processQuery

        protected void processQuery​(antlr.collections.AST select,
                                    antlr.collections.AST query)
                             throws antlr.SemanticException
        覆盖:
        processQuery 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • postProcessDML

        protected void postProcessDML​(RestrictableStatement statement)
                               throws antlr.SemanticException
        抛出:
        antlr.SemanticException
      • postProcessUpdate

        protected void postProcessUpdate​(antlr.collections.AST update)
                                  throws antlr.SemanticException
        覆盖:
        postProcessUpdate 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • postProcessDelete

        protected void postProcessDelete​(antlr.collections.AST delete)
                                  throws antlr.SemanticException
        覆盖:
        postProcessDelete 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • resolve

        protected void resolve​(antlr.collections.AST node)
                        throws antlr.SemanticException
        覆盖:
        resolve 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • resolve

        protected void resolve​(antlr.collections.AST node,
                               antlr.collections.AST predicateNode)
                        throws antlr.SemanticException
        覆盖:
        resolve 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • resolveSelectExpression

        protected void resolveSelectExpression​(antlr.collections.AST node)
                                        throws antlr.SemanticException
        覆盖:
        resolveSelectExpression 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • beforeSelectClause

        protected void beforeSelectClause()
                                   throws antlr.SemanticException
        覆盖:
        beforeSelectClause 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • generatePositionalParameter

        protected antlr.collections.AST generatePositionalParameter​(antlr.collections.AST delimiterNode,
                                                                    antlr.collections.AST numberNode)
                                                             throws antlr.SemanticException
        覆盖:
        generatePositionalParameter 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • generateNamedParameter

        protected antlr.collections.AST generateNamedParameter​(antlr.collections.AST delimiterNode,
                                                               antlr.collections.AST nameNode)
                                                        throws antlr.SemanticException
        覆盖:
        generateNamedParameter 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • processConstant

        protected void processConstant​(antlr.collections.AST constant)
                                throws antlr.SemanticException
        覆盖:
        processConstant 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • processBoolean

        protected void processBoolean​(antlr.collections.AST constant)
                               throws antlr.SemanticException
        覆盖:
        processBoolean 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • processIndex

        protected void processIndex​(antlr.collections.AST indexOp)
                             throws antlr.SemanticException
        覆盖:
        processIndex 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • processFunction

        protected void processFunction​(antlr.collections.AST functionCall,
                                       boolean inSelect)
                                throws antlr.SemanticException
        覆盖:
        processFunction 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • processCastFunction

        protected void processCastFunction​(antlr.collections.AST castFunctionCall,
                                           boolean inSelect)
                                    throws antlr.SemanticException
        覆盖:
        processCastFunction 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • processAggregation

        protected void processAggregation​(antlr.collections.AST node,
                                          boolean inSelect)
                                   throws antlr.SemanticException
        覆盖:
        processAggregation 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • processConstructor

        protected void processConstructor​(antlr.collections.AST constructor)
                                   throws antlr.SemanticException
        覆盖:
        processConstructor 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • setAlias

        protected void setAlias​(antlr.collections.AST selectExpr,
                                antlr.collections.AST ident)
        覆盖:
        setAlias 在类中 HqlSqlBaseWalker
      • isOrderExpressionResultVariableRef

        protected boolean isOrderExpressionResultVariableRef​(antlr.collections.AST orderExpressionNode)
                                                      throws antlr.SemanticException
        覆盖:
        isOrderExpressionResultVariableRef 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • isGroupExpressionResultVariableRef

        protected boolean isGroupExpressionResultVariableRef​(antlr.collections.AST groupExpressionNode)
                                                      throws antlr.SemanticException
        覆盖:
        isGroupExpressionResultVariableRef 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • handleResultVariableRef

        protected void handleResultVariableRef​(antlr.collections.AST resultVariableRef)
                                        throws antlr.SemanticException
        覆盖:
        handleResultVariableRef 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • addQuerySpaces

        public void addQuerySpaces​(Serializable[] spaces)
      • getReturnTypes

        public Type[] getReturnTypes()
      • getReturnAliases

        public String[] getReturnAliases()
      • getFinalFromClause

        public FromClause getFinalFromClause()
      • isShallowQuery

        public boolean isShallowQuery()
      • getEnabledFilters

        public Map getEnabledFilters()
      • getASTPrinter

        public ASTPrinter getASTPrinter()
      • getNumberOfParametersInSetClause

        public int getNumberOfParametersInSetClause()
      • evaluateAssignment

        protected void evaluateAssignment​(antlr.collections.AST eq)
                                   throws antlr.SemanticException
        覆盖:
        evaluateAssignment 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • getAssignmentSpecifications

        public ArrayList getAssignmentSpecifications()
      • createIntoClause

        protected antlr.collections.AST createIntoClause​(String path,
                                                         antlr.collections.AST propertySpec)
                                                  throws antlr.SemanticException
        覆盖:
        createIntoClause 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • prepareVersioned

        protected void prepareVersioned​(antlr.collections.AST updateNode,
                                        antlr.collections.AST versioned)
                                 throws antlr.SemanticException
        覆盖:
        prepareVersioned 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • prepareLogicOperator

        protected void prepareLogicOperator​(antlr.collections.AST operator)
                                     throws antlr.SemanticException
        覆盖:
        prepareLogicOperator 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • prepareArithmeticOperator

        protected void prepareArithmeticOperator​(antlr.collections.AST operator)
                                          throws antlr.SemanticException
        覆盖:
        prepareArithmeticOperator 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • validateMapPropertyExpression

        protected void validateMapPropertyExpression​(antlr.collections.AST node)
                                              throws antlr.SemanticException
        覆盖:
        validateMapPropertyExpression 在类中 HqlSqlBaseWalker
        抛出:
        antlr.SemanticException
      • getTreatAsDeclarationsByPath

        public Set<String> getTreatAsDeclarationsByPath​(String path)
      • getDialect

        public Dialect getDialect()
      • panic

        public static void panic()