Package org.apache.cayenne.dba.derby
Class DerbyQualifierTranslator
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.derby.DerbyQualifierTranslator
- All Implemented Interfaces:
- TraversalHandler
public class DerbyQualifierTranslator extends TrimmingQualifierTranslator
- 
Field SummaryFields inherited from class org.apache.cayenne.access.translator.select.TrimmingQualifierTranslatortrimFunctionFields inherited from class org.apache.cayenne.access.translator.select.QualifierTranslatorcaseInsensitive, matchingObject, objectMatchTranslator, qualifier, useAliasForExpressions, waitingForEndNodeFields inherited from class org.apache.cayenne.access.translator.select.QueryAssemblerHelperout, queryAssembler, strategy
- 
Constructor SummaryConstructors Constructor Description DerbyQualifierTranslator(QueryAssembler queryAssembler, String trimFunction)
- 
Method SummaryModifier 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 voidappendFunctionArg(Object value, ASTFunctionCall functionExpression)A little bit ugly code that wraps String scalars to CAST(? AS VARCHAR(length)) because otherwise derby don't know what type will be at the placeholder and use LONG VARCHAR that isn't comparable what leads to statement preparation failure.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 voidprocessColumnWithQuoteSqlIdentifiers(DbAttribute dbAttr, Expression pathExp)Adds special handling of CHAR columns.Methods inherited from class org.apache.cayenne.access.translator.select.TrimmingQualifierTranslatorgetTrimFunction, processColumn, setTrimFunctionMethods inherited from class org.apache.cayenne.access.translator.select.QualifierTranslatorappendLiteral, appendObjectMatch, detectObjectMatch, doAppendPart, doAppendPart, endNode, extractQualifier, finishedChild, objectNode, operandForBitwiseAnd, operandForBitwiseLeftShift, operandForBitwiseNot, operandForBitwiseOr, operandForBitwiseRightShift, operandForBitwiseXor, parenthesisNeeded, processRelTermination, setCaseInsensitive, setQualifier, setUseAliasForExpressions, startNodeMethods inherited from class org.apache.cayenne.access.translator.select.QueryAssemblerHelperappendDbPath, appendLikeEscapeCharacter, appendLiteralDirect, appendObjPath, appendPart, getDbEntity, getObjEntity, paramsDbType, processRelTermination, setForceJoinForRelations
- 
Constructor Details- 
DerbyQualifierTranslator
 
- 
- 
Method Details- 
processColumnWithQuoteSqlIdentifiersDescription copied from class:TrimmingQualifierTranslatorAdds special handling of CHAR columns.- Overrides:
- processColumnWithQuoteSqlIdentifiersin class- TrimmingQualifierTranslator
 
- 
appendFunctionDescription 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 class- QualifierTranslator
- Since:
- 4.0
 
- 
appendFunctionArgprotected void appendFunctionArg(Object value, ASTFunctionCall functionExpression) throws IOExceptionA little bit ugly code that wraps String scalars to CAST(? AS VARCHAR(length)) because otherwise derby don't know what type will be at the placeholder and use LONG VARCHAR that isn't comparable what leads to statement preparation failure.- Overrides:
- appendFunctionArgin class- QualifierTranslator
- Throws:
- IOException
- Since:
- 4.0
 
- 
appendFunctionArgDividerDescription copied from class:QualifierTranslatorAppend divider between function arguments. In overriding methods can be replaced e.g. for " || " for CONCAT operation- Overrides:
- appendFunctionArgDividerin class- QualifierTranslator
- Since:
- 4.0
 
- 
clearLastFunctionArgDividerDescription copied from class:QualifierTranslatorClear last divider as we currently don't now position of argument until parent element is ended.- Overrides:
- clearLastFunctionArgDividerin class- QualifierTranslator
- Since:
- 4.0
 
- 
appendExtractFunctionDescription copied from class:QualifierTranslatorSpecial case for extract date/time parts functions as they have many variants- Overrides:
- appendExtractFunctionin class- QualifierTranslator
 
 
-