Package org.apache.cayenne.dba.oracle
Class OracleQualifierTranslator
- java.lang.Object
-
- org.apache.cayenne.access.translator.select.QueryAssemblerHelper
-
- org.apache.cayenne.access.translator.select.QualifierTranslator
-
- org.apache.cayenne.access.translator.select.TrimmingQualifierTranslator
-
- org.apache.cayenne.dba.oracle.OracleQualifierTranslator
-
- All Implemented Interfaces:
TraversalHandler
public class OracleQualifierTranslator extends TrimmingQualifierTranslator
Oracle qualifier translator. In particular, trims INs with more than 1000 elements to an OR-set of INs with <= 1000 elements
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classOracleQualifierTranslator.INTrimmer
-
Field Summary
-
Fields inherited from class org.apache.cayenne.access.translator.select.TrimmingQualifierTranslator
trimFunction
-
Fields inherited from class org.apache.cayenne.access.translator.select.QualifierTranslator
caseInsensitive, matchingObject, objectMatchTranslator, qualifier, useAliasForExpressions, waitingForEndNode
-
Fields inherited from class org.apache.cayenne.access.translator.select.QueryAssemblerHelper
out, queryAssembler, strategy
-
-
Constructor Summary
Constructors Constructor Description OracleQualifierTranslator(QueryAssembler queryAssembler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidappendExtractFunction(ASTExtract functionExpression)Special case for extract date/time parts functions as they have many variantsprotected voidappendFunction(ASTFunctionCall functionExpression)Append function name to result SQL Override this method to rename or skip function if generic name isn't supported on target DB.protected voidappendFunctionArgDivider(ASTFunctionCall functionExpression)Append divider between function arguments.protected voidclearLastFunctionArgDivider(ASTFunctionCall functionExpression)Clear last divider as we currently don't now position of argument until parent element is ended.protected voiddoAppendPart(Expression rootNode)Translates query qualifier to SQL WHERE clause.voidendNode(Expression node, Expression parentNode)Called during the traversal after an expression node children processing is finished.protected booleanparenthesisNeeded(Expression node, Expression parentNode)-
Methods inherited from class org.apache.cayenne.access.translator.select.TrimmingQualifierTranslator
getTrimFunction, processColumn, processColumnWithQuoteSqlIdentifiers, setTrimFunction
-
Methods inherited from class org.apache.cayenne.access.translator.select.QualifierTranslator
appendFunctionArg, appendLiteral, appendObjectMatch, detectObjectMatch, doAppendPart, extractQualifier, finishedChild, objectNode, operandForBitwiseAnd, operandForBitwiseLeftShift, operandForBitwiseNot, operandForBitwiseOr, operandForBitwiseRightShift, operandForBitwiseXor, processRelTermination, setCaseInsensitive, setQualifier, setUseAliasForExpressions, startNode
-
Methods inherited from class org.apache.cayenne.access.translator.select.QueryAssemblerHelper
appendDbPath, appendLikeEscapeCharacter, appendLiteralDirect, appendObjPath, appendPart, getDbEntity, getObjEntity, paramsDbType, processRelTermination, setForceJoinForRelations
-
-
-
-
Constructor Detail
-
OracleQualifierTranslator
public OracleQualifierTranslator(QueryAssembler queryAssembler)
-
-
Method Detail
-
doAppendPart
protected void doAppendPart(Expression rootNode)
Description copied from class:QualifierTranslatorTranslates query qualifier to SQL WHERE clause. Qualifier is a method parameter.- Overrides:
doAppendPartin classQualifierTranslator
-
endNode
public void endNode(Expression node, Expression parentNode)
Description copied from interface:TraversalHandlerCalled during the traversal after an expression node children processing is finished.- Specified by:
endNodein interfaceTraversalHandler- Overrides:
endNodein classQualifierTranslator- Since:
- 4.0
-
appendFunction
protected void appendFunction(ASTFunctionCall functionExpression)
Description copied from class:QualifierTranslatorAppend function name to result SQL Override this method to rename or skip function if generic name isn't supported on target DB.- Overrides:
appendFunctionin classQualifierTranslator- Since:
- 4.0
-
appendFunctionArgDivider
protected void appendFunctionArgDivider(ASTFunctionCall functionExpression)
Description copied from class:QualifierTranslatorAppend divider between function arguments. In overriding methods can be replaced e.g. for " || " for CONCAT operation- Overrides:
appendFunctionArgDividerin classQualifierTranslator- Since:
- 4.0
-
clearLastFunctionArgDivider
protected void clearLastFunctionArgDivider(ASTFunctionCall functionExpression)
Description copied from class:QualifierTranslatorClear last divider as we currently don't now position of argument until parent element is ended.- Overrides:
clearLastFunctionArgDividerin classQualifierTranslator- Since:
- 4.0
-
parenthesisNeeded
protected boolean parenthesisNeeded(Expression node, Expression parentNode)
- Overrides:
parenthesisNeededin classQualifierTranslator
-
appendExtractFunction
protected void appendExtractFunction(ASTExtract functionExpression)
Description copied from class:QualifierTranslatorSpecial case for extract date/time parts functions as they have many variants- Overrides:
appendExtractFunctionin classQualifierTranslator
-
-