Class AltibaseSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>

  • All Implemented Interfaces:
    Appendable, org.hibernate.sql.ast.spi.SqlAppender, org.hibernate.sql.ast.SqlAstTranslator<T>, org.hibernate.sql.ast.SqlAstWalker

    public class AltibaseSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    extends org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T>
    A SQL AST translator for Altibase.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator

        org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.ForUpdateClause, org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.LockStrategy, org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.SubQueryRelationalRestrictionEmulationRenderer<X extends org.hibernate.sql.ast.tree.expression.Expression>
    • Field Summary

      • Fields inherited from interface org.hibernate.sql.ast.spi.SqlAppender

        CLOSE_PARENTHESIS, COMMA_SEPARATOR, COMMA_SEPARATOR_CHAR, NO_SEPARATOR, NULL_KEYWORD, OPEN_PARENTHESIS, PARAM_MARKER, WHITESPACE
    • Constructor Summary

      Constructors 
      Constructor Description
      AltibaseSqlAstTranslator​(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory, org.hibernate.sql.ast.tree.Statement statement)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected String getDual()  
      protected String getFromDualForSelectOnly()  
      protected boolean needsRecursiveKeywordInWithClause()  
      protected void renderComparison​(org.hibernate.sql.ast.tree.expression.Expression lhs, org.hibernate.query.sqm.ComparisonOperator operator, org.hibernate.sql.ast.tree.expression.Expression rhs)  
      protected void renderDeleteClause​(org.hibernate.sql.ast.tree.delete.DeleteStatement statement)  
      protected void renderDmlTargetTableExpression​(org.hibernate.sql.ast.tree.from.NamedTableReference tableReference)  
      protected void renderMergeUpdateClause​(List<org.hibernate.sql.ast.tree.update.Assignment> assignments, org.hibernate.sql.ast.tree.predicate.Predicate wherePredicate)  
      protected void renderOffsetExpression​(org.hibernate.sql.ast.tree.expression.Expression offsetExpression)  
      protected void renderPartitionItem​(org.hibernate.sql.ast.tree.expression.Expression expression)  
      protected void renderTableGroupJoin​(org.hibernate.sql.ast.tree.from.TableGroupJoin tableGroupJoin, List<org.hibernate.sql.ast.tree.from.TableGroupJoin> tableGroupJoinCollector)  
      protected void renderUpdateClause​(org.hibernate.sql.ast.tree.update.UpdateStatement updateStatement)  
      protected boolean shouldEmulateFetchClause​(org.hibernate.sql.ast.tree.select.QueryPart queryPart)  
      protected boolean supportsJoinsInDelete()  
      protected boolean supportsRowValueConstructorSyntaxInQuantifiedPredicates()  
      protected boolean supportsSimpleQueryGrouping()  
      protected boolean supportsWithClauseInSubquery()  
      protected void visitInsertStatementOnly​(org.hibernate.sql.ast.tree.insert.InsertSelectStatement statement)  
      void visitOffsetFetchClause​(org.hibernate.sql.ast.tree.select.QueryPart queryPart)  
      void visitOver​(org.hibernate.sql.ast.tree.expression.Over<?> over)  
      void visitQueryPartTableReference​(org.hibernate.sql.ast.tree.from.QueryPartTableReference tableReference)  
      void visitQuerySpec​(org.hibernate.sql.ast.tree.select.QuerySpec querySpec)  
      void visitValuesTableReference​(org.hibernate.sql.ast.tree.from.ValuesTableReference tableReference)  
      • Methods inherited from class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator

        addAdditionalWherePredicate, addAppliedParameterBinding, append, append, append, appendBackslashEscapedLikeLiteral, appendSql, appendSql, appendSql, appendSql, appendSql, applyParameter, areAllResultsParameters, areAllResultsParameters, assertRowsOnlyFetchClauseType, castFunction, castNumberToString, cleanup, createRowMatchingPredicate, determineColumnReferenceQualifier, determineCyclePathColumnName, determineLateralEmulationPredicate, determineLockingStrategy, determineWhereClauseRestrictionWithJoinEmulation, determineWhereClauseRestrictionWithJoinEmulation, emptyInList, emulateCycleClauseWithRowAndArray, emulateFetchOffsetWithWindowFunctions, emulateFetchOffsetWithWindowFunctions, emulateFetchOffsetWithWindowFunctionsVisitQueryPart, emulateQuantifiedTupleSubQueryPredicate, emulateQueryPartTableReferenceColumnAliasing, emulateSearchClauseOrderWithRowAndArray, emulateSelectTupleComparison, emulateSortSpecificationNullPrecedence, emulateSubQueryRelationalRestrictionPredicate, emulateTupleComparison, emulateValuesTableReferenceColumnAliasing, getAffectedTableNames, getAppliedParameterBindings, getArrayContainsFunction, getBooleanType, getCastTypeName, getCastTypeName, getClauseStack, getCteStatement, getCurrentClauseStack, getCurrentCteStatement, getCurrentDmlStatement, getCurrentQueryPart, getDialect, getEffectiveLockMode, getEffectiveLockMode, getEffectiveLockTimeout, getFetchClauseTypeForRowNumbering, getForShare, getForUpdate, getForUpdateWithClause, getFromDual, getIntegerType, getJdbcLockStrategy, getJdbcParameterBindings, getJdbcServices, getLeftHandExpression, getLimit, getLimitParameter, getLockOptions, getMaxRows, getNoWait, getOffsetParameter, getParameterBinders, getParameterBindValue, getParameterRenderingMode, getQueryPartForRowNumbering, getQueryPartStack, getRowsToSkip, getSelectItemReference, getSessionFactory, getSkipLocked, getSortSpecificationsRowNumbering, getSql, getSqlAppender, getSqlBuffer, getSqlTypeName, getSqlTypeName, getStatement, getStatementStack, getStringType, getUniqueConstraintNameThatMayFail, getWrapperOptions, hasAggregateFunctions, hasLimit, hasLimit, hasNestedTableGroupsToRender, hasNonTrivialFromClause, hasOffset, inlineCteTableGroup, inOverOrWithinGroupClause, interpretExpression, isCorrelated, isInRecursiveQueryPart, isInSubquery, isIntegerDivisionEmulationRequired, isLiteral, isParameter, isRowNumberingCurrentQueryPart, isRowsOnlyFetchClauseType, isStruct, needsCteInlining, needsLocking, needsMaxRows, needsRowsToSkip, prepareLimitOffsetParameters, processNestedTableGroupJoins, processTableGroupJoin, processTableGroupJoins, registerAffectedTable, registerAffectedTable, render, renderAsLiteral, renderBackslashEscapedLikePattern, renderCaseInsensitiveLikeEmulation, renderCasted, renderCombinedLimitClause, renderCombinedLimitClause, renderCommaSeparated, renderCommaSeparatedSelectExpression, renderCommaSeparatedSelectExpression, renderComparisonDistinctOperator, renderComparisonEmulateCase, renderComparisonEmulateDecode, renderComparisonEmulateDecode, renderComparisonEmulateIntersect, renderComparisonStandard, renderCteColumns, renderCycleClause, renderDerivedTableReference, renderDmlTargetTableGroup, renderExpressionAsClauseItem, renderExpressionAsLiteral, renderExpressionsAsSubquery, renderFetch, renderFetchExpression, renderFetchPlusOffsetExpression, renderFetchPlusOffsetExpressionAsLiteral, renderFetchPlusOffsetExpressionAsSingleParameter, renderFirstClause, renderFirstClause, renderFirstSkipClause, renderFirstSkipClause, renderForUpdateClause, renderFromClauseAfterUpdateSet, renderFromClauseExcludingDmlTargetReference, renderFromClauseJoiningDmlTargetReference, renderFromClauseSpaces, renderInsertIntoNoColumns, renderIntoIntoAndTable, renderLimitOffsetClause, renderLimitOffsetClause, renderLiteral, renderMaterializationHint, renderNamedTableReference, renderNull, renderOffset, renderOffsetFetchClause, renderOffsetFetchClause, renderOrderBy, renderParameterAsParameter, renderParameterAsParameter, renderPrimaryTableReference, renderQueryGroup, renderRecursiveCteVirtualSelections, renderRootTableGroup, renderRowNumber, renderRowNumberingSelectItems, renderRowsToClause, renderRowsToClause, renderSearchClause, renderSelectExpression, renderSelectExpressionWithCastedOrInlinedPlainParameters, renderSelectSimpleComparison, renderSelectTupleComparison, renderSetClause, renderSkipFirstClause, renderSkipFirstClause, renderStandardCycleClause, renderStandardSearchClause, renderStringContainsExactlyPredicate, renderTableGroup, renderTableReferenceIdentificationVariable, renderTableReferenceJoins, renderTopClause, renderTopClause, renderTopStartAtClause, renderTopStartAtClause, renderTupleComparisonStandard, renderVirtualSelections, resolveAliasedExpression, resolveAliasedExpression, resolveExpressionToAlias, setLimitParameter, setOffsetParameter, shouldEmulateLateralWithIntersect, shouldInlineCte, simpleColumnWriteFragmentRendering, supportsArrayConstructor, supportsDistinctFromPredicate, supportsDuplicateSelectItemsInQueryGroup, supportsFilterClause, supportsIntersect, supportsJoinInMutationStatementSubquery, supportsNestedSubqueryCorrelation, supportsNestedWithClause, supportsNullPrecedence, supportsQuantifiedPredicates, supportsRecursiveClauseArrayAndRowEmulation, supportsRecursiveCycleClause, supportsRecursiveCycleUsingClause, supportsRecursiveSearchClause, supportsRowConstructor, supportsRowValueConstructorDistinctFromSyntax, supportsRowValueConstructorGtLtSyntax, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsRowValueConstructorSyntaxInInSubQuery, supportsRowValueConstructorSyntaxInSet, supportsWithClause, translate, translateDelete, translateInsert, translateSelect, translateUpdate, useOffsetFetchClause, visitAggregateColumnWriteExpression, visitAnsiCaseSearchedExpression, visitAnsiCaseSimpleExpression, visitAny, visitAssignment, visitBetweenPredicate, visitBinaryArithmeticExpression, visitBooleanExpressionPredicate, visitCaseSearchedExpression, visitCaseSearchedExpression, visitCaseSimpleExpression, visitCaseSimpleExpression, visitCastTarget, visitCollation, visitColumnReference, visitColumnWriteFragment, visitConflictClause, visitConversion, visitCteContainer, visitCteDefinition, visitCteObject, visitCustomTableDelete, visitCustomTableInsert, visitCustomTableUpdate, visitDecodeCaseSearchedExpression, visitDeleteStatement, visitDeleteStatementOnly, visitDistinct, visitDuration, visitDurationUnit, visitEntityTypeLiteral, visitEvery, visitExistsPredicate, visitExtractUnit, visitFilterFragmentPredicate, visitFilterPredicate, visitFormat, visitForUpdateClause, visitFromClause, visitFunctionTableReference, visitGroupByClause, visitGroupedPredicate, visitHavingClause, visitInArrayPredicate, visitInListPredicate, visitInsertSource, visitInsertStatement, visitInsertStatementEmulateMerge, visitInSubQueryPredicate, visitJdbcLiteral, visitJunction, visitLikePredicate, visitModifiedSubQueryExpression, visitNamedTableReference, visitNegatedPredicate, visitNullnessPredicate, visitOnDuplicateKeyConflictClause, visitOptionalTableUpdate, visitOrderBy, visitOverClause, visitOverClause, visitOverflow, visitParameter, visitParameterAsParameter, visitPartitionByClause, visitPartitionExpressions, visitPartitionExpressions, visitQueryGroup, visitQueryLiteral, visitRecursivePath, visitRelationalPredicate, visitReturningColumns, visitReturningColumns, visitSelectClause, visitSelectStatement, visitSelfRenderingExpression, visitSelfRenderingPredicate, visitSetAssignment, visitSetAssignmentEmulateJoin, visitSortSpecification, visitSortSpecification, visitSqlFragmentPredicate, visitSqlSelectExpression, visitSqlSelection, visitSqlSelectionExpression, visitSqlSelections, visitStandardConflictClause, visitStandardTableDelete, visitStandardTableInsert, visitStandardTableUpdate, visitStar, visitSummarization, visitTableGroup, visitTableGroupJoin, visitTableReferenceJoin, visitThruthnessPredicate, visitTrimSpecification, visitTuple, visitUnaryOperationExpression, visitUnparsedNumericLiteral, visitUpdateStatement, visitUpdateStatementEmulateInlineView, visitUpdateStatementEmulateMerge, visitUpdateStatementEmulateTupleSet, visitUpdateStatementOnly, visitValuesList, visitValuesListEmulateSelectUnion, visitValuesListStandard, visitWhereClause, withParameterRenderingMode, withRowNumbering
    • Constructor Detail

      • AltibaseSqlAstTranslator

        public AltibaseSqlAstTranslator​(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory,
                                        org.hibernate.sql.ast.tree.Statement statement)
    • Method Detail

      • visitOffsetFetchClause

        public void visitOffsetFetchClause​(org.hibernate.sql.ast.tree.select.QueryPart queryPart)
        Specified by:
        visitOffsetFetchClause in interface org.hibernate.sql.ast.SqlAstWalker
        Overrides:
        visitOffsetFetchClause in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • renderComparison

        protected void renderComparison​(org.hibernate.sql.ast.tree.expression.Expression lhs,
                                        org.hibernate.query.sqm.ComparisonOperator operator,
                                        org.hibernate.sql.ast.tree.expression.Expression rhs)
        Overrides:
        renderComparison in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • visitOver

        public void visitOver​(org.hibernate.sql.ast.tree.expression.Over<?> over)
        Specified by:
        visitOver in interface org.hibernate.sql.ast.SqlAstWalker
        Overrides:
        visitOver in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • visitQuerySpec

        public void visitQuerySpec​(org.hibernate.sql.ast.tree.select.QuerySpec querySpec)
        Specified by:
        visitQuerySpec in interface org.hibernate.sql.ast.SqlAstWalker
        Overrides:
        visitQuerySpec in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • shouldEmulateFetchClause

        protected boolean shouldEmulateFetchClause​(org.hibernate.sql.ast.tree.select.QueryPart queryPart)
      • renderTableGroupJoin

        protected void renderTableGroupJoin​(org.hibernate.sql.ast.tree.from.TableGroupJoin tableGroupJoin,
                                            List<org.hibernate.sql.ast.tree.from.TableGroupJoin> tableGroupJoinCollector)
        Overrides:
        renderTableGroupJoin in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • renderPartitionItem

        protected void renderPartitionItem​(org.hibernate.sql.ast.tree.expression.Expression expression)
        Overrides:
        renderPartitionItem in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • renderOffsetExpression

        protected void renderOffsetExpression​(org.hibernate.sql.ast.tree.expression.Expression offsetExpression)
        Overrides:
        renderOffsetExpression in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • visitValuesTableReference

        public void visitValuesTableReference​(org.hibernate.sql.ast.tree.from.ValuesTableReference tableReference)
        Specified by:
        visitValuesTableReference in interface org.hibernate.sql.ast.SqlAstWalker
        Overrides:
        visitValuesTableReference in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • visitInsertStatementOnly

        protected void visitInsertStatementOnly​(org.hibernate.sql.ast.tree.insert.InsertSelectStatement statement)
        Overrides:
        visitInsertStatementOnly in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • renderMergeUpdateClause

        protected void renderMergeUpdateClause​(List<org.hibernate.sql.ast.tree.update.Assignment> assignments,
                                               org.hibernate.sql.ast.tree.predicate.Predicate wherePredicate)
        Overrides:
        renderMergeUpdateClause in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • renderDeleteClause

        protected void renderDeleteClause​(org.hibernate.sql.ast.tree.delete.DeleteStatement statement)
        Overrides:
        renderDeleteClause in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • renderDmlTargetTableExpression

        protected void renderDmlTargetTableExpression​(org.hibernate.sql.ast.tree.from.NamedTableReference tableReference)
        Overrides:
        renderDmlTargetTableExpression in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • renderUpdateClause

        protected void renderUpdateClause​(org.hibernate.sql.ast.tree.update.UpdateStatement updateStatement)
        Overrides:
        renderUpdateClause in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • visitQueryPartTableReference

        public void visitQueryPartTableReference​(org.hibernate.sql.ast.tree.from.QueryPartTableReference tableReference)
        Specified by:
        visitQueryPartTableReference in interface org.hibernate.sql.ast.SqlAstWalker
        Overrides:
        visitQueryPartTableReference in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • getDual

        protected String getDual()
        Overrides:
        getDual in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • getFromDualForSelectOnly

        protected String getFromDualForSelectOnly()
        Overrides:
        getFromDualForSelectOnly in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • needsRecursiveKeywordInWithClause

        protected boolean needsRecursiveKeywordInWithClause()
        Overrides:
        needsRecursiveKeywordInWithClause in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • supportsRowValueConstructorSyntaxInQuantifiedPredicates

        protected boolean supportsRowValueConstructorSyntaxInQuantifiedPredicates()
        Overrides:
        supportsRowValueConstructorSyntaxInQuantifiedPredicates in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • supportsWithClauseInSubquery

        protected boolean supportsWithClauseInSubquery()
        Overrides:
        supportsWithClauseInSubquery in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • supportsJoinsInDelete

        protected boolean supportsJoinsInDelete()
        Overrides:
        supportsJoinsInDelete in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      • supportsSimpleQueryGrouping

        protected boolean supportsSimpleQueryGrouping()
        Overrides:
        supportsSimpleQueryGrouping in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>