public class NullToleratingDBConcatFunctionSymbol extends AbstractDBConcatFunctionSymbol
FunctionSymbol.FunctionalTermNullability| Modifier | Constructor and Description |
|---|---|
protected |
NullToleratingDBConcatFunctionSymbol(String nameInDialect,
int arity,
DBTermType dbStringType,
DBTermType rootDBTermType,
boolean isOperator) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canBePostProcessed(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
1.
|
IncrementalEvaluation |
evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability)
Never returns NULL
|
boolean |
isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
When the function symbol is, in the absence of non-injective functional sub-terms, sometimes but not always injective,
please override isInjective(...)
|
protected boolean |
tolerateNulls()
Returns true if is not guaranteed to return NULL when one argument is NULL.
|
analyzeInjectivity, getNativeDBStringgetTargetType, inferType, isPreferringToBePostProcessedOverBeingBlocked, mayReturnNullWithoutNullArgumentsbuildTermAfterEvaluation, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, enableIfElseNullLifting, 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, waitisPreferringToBePostProcessedOverBeingBlockedevaluateNullability, evaluateStrictEq, getExpectedBaseType, inferType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullprotected NullToleratingDBConcatFunctionSymbol(String nameInDialect, int arity, DBTermType dbStringType, DBTermType rootDBTermType, boolean isOperator)
public boolean isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
FunctionSymbolImplisAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms in class FunctionSymbolImplpublic boolean canBePostProcessed(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
FunctionSymbolprotected boolean tolerateNulls()
FunctionSymbolImpltolerateNulls in class AbstractTypedDBFunctionSymbolpublic IncrementalEvaluation evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, TermFactory termFactory, VariableNullability variableNullability)
evaluateIsNotNull in interface FunctionSymbolevaluateIsNotNull in class FunctionSymbolImplCopyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.