public class DefaultBooleanDenormFunctionSymbol extends AbstractDBTypeConversionFunctionSymbolImpl implements DBBooleanFunctionSymbol
AbstractDBTypeConversionFunctionSymbolImpl.DBTypeConversionExceptionFunctionSymbol.FunctionalTermNullability| Modifier | Constructor and Description |
|---|---|
protected |
DefaultBooleanDenormFunctionSymbol(DBTermType booleanType,
DBTermType dbStringType) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
blocksNegation()
Returns TRUE if the NOT operator has to stay ABOVE the expression
(i.e.
|
protected ImmutableTerm |
buildTermFromFunctionalTerm(ImmutableFunctionalTerm subTerm,
TermFactory termFactory,
VariableNullability variableNullability)
Default implementation
|
boolean |
canBePostProcessed(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
1.
|
protected DBConstant |
convertDBConstant(DBConstant constant,
TermFactory termFactory) |
Optional<DBTermType> |
getInputType() |
String |
getNativeDBString(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
Function<ImmutableTerm,String> termConverter,
TermFactory termFactory)
Returns a String in the native query language.
|
boolean |
isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
"0" and "false" are equivalent lexical terms, "1" and "true" are also equivalent
|
boolean |
isSimple()
Returns true if does not transform the string representation of the value
(i.e.
|
boolean |
isTemporary() |
ImmutableExpression |
negate(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms,
TermFactory termFactory)
Usually NOT supported when the function symbol blocks negation.
|
protected ImmutableFunctionalTerm |
transformIntoDBCase(ImmutableTerm subTerm,
TermFactory termFactory) |
buildTermAfterEvaluationgetTargetType, inferType, isPreferringToBePostProcessedOverBeingBlocked, mayReturnNullWithoutNullArguments, tolerateNullsanalyzeInjectivity, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, enableIfElseNullLifting, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, evaluateStrictEqWithFunctionalTerm, evaluateStrictEqWithNonNullConstant, getExpectedBaseType, getExpectedBaseTypes, isAggregation, isDeterministic, isInjective, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNull, transformIntoRegularArguments, tryToLiftMagicNumbersclone, equals, getArity, getName, hashCode, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitsimplify2VLisPreferringToBePostProcessedOverBeingBlockedanalyzeInjectivity, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, getExpectedBaseType, inferType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullgetArity, getNamegetTargetTypeprotected DefaultBooleanDenormFunctionSymbol(DBTermType booleanType, DBTermType dbStringType)
public Optional<DBTermType> getInputType()
getInputType in interface DBTypeConversionFunctionSymbolpublic boolean isTemporary()
isTemporary in interface DBTypeConversionFunctionSymbolpublic boolean isSimple()
DBTypeConversionFunctionSymbolisSimple in interface DBTypeConversionFunctionSymbolpublic boolean isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms in class FunctionSymbolImplpublic boolean canBePostProcessed(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
FunctionSymbolcanBePostProcessed in interface FunctionSymbolprotected DBConstant convertDBConstant(DBConstant constant, TermFactory termFactory)
convertDBConstant in class AbstractDBTypeConversionFunctionSymbolImplprotected ImmutableTerm buildTermFromFunctionalTerm(ImmutableFunctionalTerm subTerm, TermFactory termFactory, VariableNullability variableNullability)
AbstractDBTypeConversionFunctionSymbolImplbuildTermFromFunctionalTerm in class AbstractDBTypeConversionFunctionSymbolImplpublic boolean blocksNegation()
BooleanFunctionSymbolblocksNegation in interface BooleanFunctionSymbolpublic ImmutableExpression negate(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms, TermFactory termFactory)
BooleanFunctionSymbolnegate in interface BooleanFunctionSymbolpublic String getNativeDBString(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, Function<ImmutableTerm,String> termConverter, TermFactory termFactory)
DBFunctionSymbolSerializergetNativeDBString in interface DBFunctionSymbolSerializerprotected ImmutableFunctionalTerm transformIntoDBCase(ImmutableTerm subTerm, TermFactory termFactory)
Copyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.