public class DBIntIndexFunctionSymbolImpl extends AbstractArgDependentTypedDBFunctionSymbol
FunctionSymbol.FunctionalTermNullability| Modifier | Constructor and Description |
|---|---|
protected |
DBIntIndexFunctionSymbolImpl(DBTermType dbIntegerType,
DBTermType rootDBType,
int nbEntries) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canBePostProcessed(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
1.
|
IncrementalEvaluation |
evaluateStrictEq(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
ImmutableTerm otherTerm,
TermFactory termFactory,
VariableNullability variableNullability)
Default implementation, to be overridden to convert more cases
Incoming terms are not simplified as they are presumed to be already simplified
(so please simplify them before)
|
protected Stream<? extends ImmutableTerm> |
extractPossibleValues(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms) |
String |
getNativeDBString(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
Function<ImmutableTerm,String> termConverter,
TermFactory termFactory)
Encodes it as a SQL case
|
boolean |
isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
When the function symbol is, in the absence of non-injective functional sub-terms, sometimes but not always injective,
please override isInjective(...)
|
boolean |
isPreferringToBePostProcessedOverBeingBlocked()
If it is better to be post-processed than being blocked behind an UNION.
|
protected boolean |
mayReturnNullWithoutNullArguments()
Returns false when a functional term with this symbol:
1.
|
ImmutableTerm |
simplify(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
protected boolean |
tolerateNulls()
Should provoke a fatal error when its argument is NULL
|
inferTypeanalyzeInjectivity, buildTermAfterEvaluation, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, enableIfElseNullLifting, evaluateIsNotNull, evaluateNullability, evaluateStrictEqWithFunctionalTerm, evaluateStrictEqWithNonNullConstant, getExpectedBaseType, getExpectedBaseTypes, isAggregation, isDeterministic, isInjective, isNullable, proposeProvenanceVariables, simplifyAsGuaranteedToBeNonNull, transformIntoRegularArguments, tryToLiftMagicNumbersequals, getArity, getName, hashCode, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitanalyzeInjectivity, evaluateIsNotNull, evaluateNullability, getExpectedBaseType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplifyAsGuaranteedToBeNonNullprotected DBIntIndexFunctionSymbolImpl(DBTermType dbIntegerType, DBTermType rootDBType, int nbEntries)
protected boolean tolerateNulls()
tolerateNulls in class FunctionSymbolImplprotected boolean mayReturnNullWithoutNullArguments()
FunctionSymbolImplmayReturnNullWithoutNullArguments in class FunctionSymbolImplprotected Stream<? extends ImmutableTerm> extractPossibleValues(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms)
extractPossibleValues in class AbstractArgDependentTypedDBFunctionSymbolpublic boolean isPreferringToBePostProcessedOverBeingBlocked()
DBFunctionSymbolpublic ImmutableTerm simplify(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, TermFactory termFactory, VariableNullability variableNullability)
simplify in interface FunctionSymbolsimplify in class FunctionSymbolImplpublic String getNativeDBString(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, Function<ImmutableTerm,String> termConverter, TermFactory termFactory)
public boolean isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
FunctionSymbolImplisAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms in class FunctionSymbolImplpublic boolean canBePostProcessed(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
FunctionSymbolpublic IncrementalEvaluation evaluateStrictEq(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, ImmutableTerm otherTerm, TermFactory termFactory, VariableNullability variableNullability)
FunctionSymbolImplevaluateStrictEq in interface FunctionSymbolevaluateStrictEq in class FunctionSymbolImplCopyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.