Package org.hibernate.community.dialect
Class OracleLegacySqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
- java.lang.Object
-
- org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T>
-
- org.hibernate.community.dialect.OracleLegacySqlAstTranslator<T>
-
- All Implemented Interfaces:
Appendable,org.hibernate.sql.ast.spi.SqlAppender,org.hibernate.sql.ast.SqlAstTranslator<T>,org.hibernate.sql.ast.SqlAstWalker
public class OracleLegacySqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation> extends org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T>A SQL AST translator for Oracle.
-
-
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>
-
-
Constructor Summary
Constructors Constructor Description OracleLegacySqlAstTranslator(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 org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.LockStrategydetermineLockingStrategy(org.hibernate.sql.ast.tree.select.QuerySpec querySpec, org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.ForUpdateClause forUpdateClause, Boolean followOnLocking)protected StringgetFromDual()protected StringgetFromDualForSelectOnly()protected booleanneedsRecursiveKeywordInWithClause()protected voidrenderComparison(org.hibernate.sql.ast.tree.expression.Expression lhs, org.hibernate.query.sqm.ComparisonOperator operator, org.hibernate.sql.ast.tree.expression.Expression rhs)protected voidrenderPartitionItem(org.hibernate.sql.ast.tree.expression.Expression expression)protected voidrenderRowNumber(org.hibernate.sql.ast.tree.select.SelectClause selectClause, org.hibernate.sql.ast.tree.select.QueryPart queryPart)protected voidrenderSelectTupleComparison(List<org.hibernate.sql.ast.spi.SqlSelection> lhsExpressions, org.hibernate.sql.ast.tree.expression.SqlTuple tuple, org.hibernate.query.sqm.ComparisonOperator operator)protected booleanshouldEmulateFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart)protected booleanshouldEmulateLateralWithIntersect(org.hibernate.sql.ast.tree.select.QueryPart queryPart)protected booleansupportsDuplicateSelectItemsInQueryGroup()protected booleansupportsNestedSubqueryCorrelation()protected booleansupportsRecursiveCycleClause()protected booleansupportsRecursiveSearchClause()protected booleansupportsRowValueConstructorSyntax()protected booleansupportsRowValueConstructorSyntaxInInList()protected booleansupportsRowValueConstructorSyntaxInInSubQuery()protected booleansupportsRowValueConstructorSyntaxInQuantifiedPredicates()protected booleansupportsWithClauseInSubquery()protected voidvisitCaseSearchedExpression(org.hibernate.sql.ast.tree.expression.CaseSearchedExpression caseSearchedExpression, boolean inSelect)voidvisitFunctionTableReference(org.hibernate.sql.ast.tree.from.FunctionTableReference tableReference)voidvisitOffsetFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart)protected voidvisitOrderBy(List<org.hibernate.sql.ast.tree.select.SortSpecification> sortSpecifications)voidvisitOver(org.hibernate.sql.ast.tree.expression.Over<?> over)voidvisitQueryGroup(org.hibernate.sql.ast.tree.select.QueryGroup queryGroup)voidvisitQueryPartTableReference(org.hibernate.sql.ast.tree.from.QueryPartTableReference tableReference)voidvisitQuerySpec(org.hibernate.sql.ast.tree.select.QuerySpec querySpec)protected voidvisitSetAssignment(org.hibernate.sql.ast.tree.update.Assignment assignment)voidvisitSqlSelection(org.hibernate.sql.ast.spi.SqlSelection sqlSelection)protected voidvisitValuesList(List<org.hibernate.sql.ast.tree.insert.Values> valuesList)voidvisitValuesTableReference(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, determineCyclePathColumnName, determineLateralEmulationPredicate, determineWhereClauseRestrictionWithJoinEmulation, 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, getDmlTargetTableAlias, getEffectiveLockMode, getEffectiveLockMode, getEffectiveLockTimeout, getFetchClauseTypeForRowNumbering, getForShare, getForUpdate, getForUpdateWithClause, 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, getStringType, getWrapperOptions, hasAggregateFunctions, hasLimit, hasLimit, hasNestedTableGroupsToRender, hasOffset, inlineCteTableGroup, inOverOrWithinGroupClause, interpretExpression, isCorrelated, isInRecursiveQueryPart, 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, renderExpressionAsClauseItem, renderExpressionAsLiteral, renderExpressionsAsSubquery, renderFetch, renderFetchExpression, renderFetchPlusOffsetExpression, renderFetchPlusOffsetExpressionAsLiteral, renderFetchPlusOffsetExpressionAsSingleParameter, renderFirstClause, renderFirstClause, renderFirstSkipClause, renderFirstSkipClause, renderForUpdateClause, renderInsertIntoNoColumns, renderIntoIntoAndTable, renderLimitOffsetClause, renderLimitOffsetClause, renderLiteral, renderMaterializationHint, renderNamedTableReference, renderOffset, renderOffsetExpression, renderOffsetFetchClause, renderOffsetFetchClause, renderOrderBy, renderParameterAsParameter, renderParameterAsParameter, renderPrimaryTableReference, renderQueryGroup, renderRecursiveCteVirtualSelections, renderRootTableGroup, renderRowNumberingSelectItems, renderRowsToClause, renderRowsToClause, renderSearchClause, renderSelectExpression, renderSelectExpressionWithCastedOrInlinedPlainParameters, renderSelectSimpleComparison, renderSetClause, renderSkipFirstClause, renderSkipFirstClause, rendersTableReferenceAlias, renderStandardCycleClause, renderStandardSearchClause, renderStringContainsExactlyPredicate, renderTableGroup, renderTableGroupJoin, renderTableReferenceIdentificationVariable, renderTableReferenceJoins, renderTopClause, renderTopClause, renderTopStartAtClause, renderTopStartAtClause, renderTupleComparisonStandard, renderVirtualSelections, resolveAliasedExpression, resolveAliasedExpression, resolveExpressionToAlias, setLimitParameter, setOffsetParameter, shouldInlineCte, simpleColumnWriteFragmentRendering, supportsArrayConstructor, supportsDistinctFromPredicate, supportsFilterClause, supportsIntersect, supportsJoinInMutationStatementSubquery, supportsNestedWithClause, supportsNullPrecedence, supportsQuantifiedPredicates, supportsRecursiveClauseArrayAndRowEmulation, supportsRecursiveCycleUsingClause, supportsRowConstructor, supportsRowValueConstructorDistinctFromSyntax, supportsRowValueConstructorGtLtSyntax, supportsRowValueConstructorSyntaxInSet, supportsSimpleQueryGrouping, supportsWithClause, translate, translateDelete, translateInsert, translateSelect, translateUpdate, useOffsetFetchClause, visitAggregateColumnWriteExpression, visitAnsiCaseSearchedExpression, visitAnsiCaseSimpleExpression, visitAny, visitAssignment, visitBetweenPredicate, visitBinaryArithmeticExpression, visitBooleanExpressionPredicate, visitCaseSearchedExpression, visitCaseSimpleExpression, visitCaseSimpleExpression, visitCastTarget, visitCollation, visitColumnReference, visitColumnWriteFragment, visitConversion, visitCteContainer, visitCteDefinition, visitCteObject, visitCustomTableDelete, visitCustomTableInsert, visitCustomTableUpdate, visitDecodeCaseSearchedExpression, visitDeleteStatement, visitDeleteStatementOnly, visitDistinct, visitDuration, visitDurationUnit, visitEntityTypeLiteral, visitEvery, visitExistsPredicate, visitExtractUnit, visitFilterFragmentPredicate, visitFilterPredicate, visitFormat, visitForUpdateClause, visitFromClause, visitGroupByClause, visitGroupedPredicate, visitHavingClause, visitInArrayPredicate, visitInListPredicate, visitInsertStatement, visitInsertStatementOnly, visitInSubQueryPredicate, visitJdbcLiteral, visitJunction, visitLikePredicate, visitModifiedSubQueryExpression, visitNamedTableReference, visitNegatedPredicate, visitNullnessPredicate, visitOptionalTableUpdate, visitOverClause, visitOverClause, visitOverflow, visitParameter, visitParameterAsParameter, visitPartitionByClause, visitPartitionExpressions, visitPartitionExpressions, visitQueryLiteral, visitRecursivePath, visitRelationalPredicate, visitReturningColumns, visitReturningColumns, visitSelectClause, visitSelectStatement, visitSelfRenderingExpression, visitSelfRenderingPredicate, visitSortSpecification, visitSortSpecification, visitSqlFragmentPredicate, visitSqlSelectExpression, visitSqlSelectionExpression, visitSqlSelections, visitStandardTableDelete, visitStandardTableInsert, visitStandardTableUpdate, visitStar, visitSummarization, visitTableGroup, visitTableGroupJoin, visitTableReferenceJoin, visitThruthnessPredicate, visitTrimSpecification, visitTuple, visitUnaryOperationExpression, visitUnparsedNumericLiteral, visitUpdateStatement, visitUpdateStatementOnly, visitValuesListEmulateSelectUnion, visitValuesListStandard, visitWhereClause, withParameterRenderingMode, withRowNumbering
-
-
-
-
Method Detail
-
needsRecursiveKeywordInWithClause
protected boolean needsRecursiveKeywordInWithClause()
- Overrides:
needsRecursiveKeywordInWithClausein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsWithClauseInSubquery
protected boolean supportsWithClauseInSubquery()
- Overrides:
supportsWithClauseInSubqueryin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsRecursiveSearchClause
protected boolean supportsRecursiveSearchClause()
- Overrides:
supportsRecursiveSearchClausein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsRecursiveCycleClause
protected boolean supportsRecursiveCycleClause()
- Overrides:
supportsRecursiveCycleClausein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
visitSqlSelection
public void visitSqlSelection(org.hibernate.sql.ast.spi.SqlSelection sqlSelection)
- Specified by:
visitSqlSelectionin interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitSqlSelectionin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
determineLockingStrategy
protected org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.LockStrategy determineLockingStrategy(org.hibernate.sql.ast.tree.select.QuerySpec querySpec, org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.ForUpdateClause forUpdateClause, Boolean followOnLocking)- Overrides:
determineLockingStrategyin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
shouldEmulateLateralWithIntersect
protected boolean shouldEmulateLateralWithIntersect(org.hibernate.sql.ast.tree.select.QueryPart queryPart)
- Overrides:
shouldEmulateLateralWithIntersectin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsNestedSubqueryCorrelation
protected boolean supportsNestedSubqueryCorrelation()
- Overrides:
supportsNestedSubqueryCorrelationin classorg.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)
-
visitOrderBy
protected void visitOrderBy(List<org.hibernate.sql.ast.tree.select.SortSpecification> sortSpecifications)
- Overrides:
visitOrderByin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
visitValuesList
protected void visitValuesList(List<org.hibernate.sql.ast.tree.insert.Values> valuesList)
- Overrides:
visitValuesListin classorg.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:
visitValuesTableReferencein interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitValuesTableReferencein classorg.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:
visitQueryPartTableReferencein interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitQueryPartTableReferencein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
visitFunctionTableReference
public void visitFunctionTableReference(org.hibernate.sql.ast.tree.from.FunctionTableReference tableReference)
- Specified by:
visitFunctionTableReferencein interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitFunctionTableReferencein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
visitQueryGroup
public void visitQueryGroup(org.hibernate.sql.ast.tree.select.QueryGroup queryGroup)
- Specified by:
visitQueryGroupin interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitQueryGroupin classorg.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:
visitQuerySpecin interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitQuerySpecin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
visitOffsetFetchClause
public void visitOffsetFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart)
- Specified by:
visitOffsetFetchClausein interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitOffsetFetchClausein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
renderRowNumber
protected void renderRowNumber(org.hibernate.sql.ast.tree.select.SelectClause selectClause, org.hibernate.sql.ast.tree.select.QueryPart queryPart)- Overrides:
renderRowNumberin classorg.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:
visitOverin interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitOverin classorg.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:
renderComparisonin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
renderSelectTupleComparison
protected void renderSelectTupleComparison(List<org.hibernate.sql.ast.spi.SqlSelection> lhsExpressions, org.hibernate.sql.ast.tree.expression.SqlTuple tuple, org.hibernate.query.sqm.ComparisonOperator operator)
- Overrides:
renderSelectTupleComparisonin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
visitCaseSearchedExpression
protected void visitCaseSearchedExpression(org.hibernate.sql.ast.tree.expression.CaseSearchedExpression caseSearchedExpression, boolean inSelect)- Overrides:
visitCaseSearchedExpressionin classorg.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:
renderPartitionItemin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsDuplicateSelectItemsInQueryGroup
protected boolean supportsDuplicateSelectItemsInQueryGroup()
- Overrides:
supportsDuplicateSelectItemsInQueryGroupin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsRowValueConstructorSyntax
protected boolean supportsRowValueConstructorSyntax()
- Overrides:
supportsRowValueConstructorSyntaxin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsRowValueConstructorSyntaxInInList
protected boolean supportsRowValueConstructorSyntaxInInList()
- Overrides:
supportsRowValueConstructorSyntaxInInListin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsRowValueConstructorSyntaxInQuantifiedPredicates
protected boolean supportsRowValueConstructorSyntaxInQuantifiedPredicates()
- Overrides:
supportsRowValueConstructorSyntaxInQuantifiedPredicatesin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsRowValueConstructorSyntaxInInSubQuery
protected boolean supportsRowValueConstructorSyntaxInInSubQuery()
- Overrides:
supportsRowValueConstructorSyntaxInInSubQueryin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
getFromDual
protected String getFromDual()
- Overrides:
getFromDualin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
getFromDualForSelectOnly
protected String getFromDualForSelectOnly()
- Overrides:
getFromDualForSelectOnlyin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
visitSetAssignment
protected void visitSetAssignment(org.hibernate.sql.ast.tree.update.Assignment assignment)
- Overrides:
visitSetAssignmentin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
-