public abstract class AbstractDBInequalityOperator extends DBBooleanFunctionSymbolImpl
FunctionSymbol.FunctionalTermNullability| Modifier and Type | Field and Description |
|---|---|
protected InequalityLabel |
inequalityLabel |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractDBInequalityOperator(InequalityLabel inequalityLabel,
String functionSymbolName,
DBTermType rootDBTermType,
DBTermType dbBoolean) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
blocksNegation()
Returns TRUE if the NOT operator has to stay ABOVE the expression
(i.e.
|
protected abstract ImmutableExpression |
buildInequality(InequalityLabel inequalityLabel,
com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms,
TermFactory termFactory) |
String |
getNativeDBString(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
Function<ImmutableTerm,String> termConverter,
TermFactory termFactory)
Can be overridden
|
boolean |
isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
When the function symbol is, in the absence of non-injective functional sub-terms, sometimes but not always injective,
please override isInjective(...)
|
ImmutableExpression |
negate(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms,
TermFactory termFactory)
Usually NOT supported when the function symbol blocks negation.
|
protected boolean |
tolerateNulls()
Returns true if is not guaranteed to return NULL when one argument is NULL.
|
inBrackets, isPreferringToBePostProcessedOverBeingBlocked, mayReturnNullWithoutNullArgumentsbuildTermAfterEvaluation, enableIfElseNullLifting, inferType, tryToLiftIfThenTerm, tryToLiftMagicNumbersanalyzeInjectivity, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, evaluateStrictEqWithFunctionalTerm, evaluateStrictEqWithNonNullConstant, getExpectedBaseType, getExpectedBaseTypes, isAggregation, isDeterministic, isInjective, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNull, transformIntoRegularArguments, tryToLiftMagicNumbersequals, getArity, getName, hashCode, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitsimplify2VLanalyzeInjectivity, canBePostProcessed, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, getExpectedBaseType, inferType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullprotected final InequalityLabel inequalityLabel
protected AbstractDBInequalityOperator(InequalityLabel inequalityLabel, String functionSymbolName, DBTermType rootDBTermType, DBTermType dbBoolean)
public String getNativeDBString(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, Function<ImmutableTerm,String> termConverter, TermFactory termFactory)
protected boolean tolerateNulls()
FunctionSymbolImpltolerateNulls in class FunctionSymbolImplpublic boolean isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
FunctionSymbolImplisAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms in class FunctionSymbolImplpublic boolean blocksNegation()
BooleanFunctionSymbolpublic ImmutableExpression negate(com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms, TermFactory termFactory)
BooleanFunctionSymbolprotected abstract ImmutableExpression buildInequality(InequalityLabel inequalityLabel, com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms, TermFactory termFactory)
Copyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.