public class TemporaryDBTypeConversionToStringFunctionSymbolImpl extends AbstractDBTypeConversionFunctionSymbolImpl
AbstractDBTypeConversionFunctionSymbolImpl.DBTypeConversionExceptionFunctionSymbol.FunctionalTermNullability| Modifier | Constructor and Description |
|---|---|
protected |
TemporaryDBTypeConversionToStringFunctionSymbolImpl(DBTermType inputBaseType,
DBTermType targetType) |
| Modifier and Type | Method and Description |
|---|---|
protected ImmutableTerm |
buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Minimalistic optimization: just optimize when the sub-term is a DB string constant.
|
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()
When the function symbol is, in the absence of non-injective functional sub-terms, sometimes but not always injective,
please override isInjective(...)
|
boolean |
isSimple()
Returns true if does not transform the string representation of the value
(i.e.
|
boolean |
isTemporary() |
buildFromVariable, buildTermFromFunctionalTermgetTargetType, inferType, isPreferringToBePostProcessedOverBeingBlocked, mayReturnNullWithoutNullArguments, tolerateNullsanalyzeInjectivity, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, enableIfElseNullLifting, 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, waitgetTargetTypeisPreferringToBePostProcessedOverBeingBlockedanalyzeInjectivity, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, getExpectedBaseType, inferType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullprotected TemporaryDBTypeConversionToStringFunctionSymbolImpl(DBTermType inputBaseType, DBTermType targetType)
public Optional<DBTermType> getInputType()
public boolean isTemporary()
public boolean isSimple()
DBTypeConversionFunctionSymbolpublic boolean isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
FunctionSymbolImplisAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms in class FunctionSymbolImplpublic boolean canBePostProcessed(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
FunctionSymbolprotected ImmutableTerm buildTermAfterEvaluation(com.google.common.collect.ImmutableList<ImmutableTerm> newTerms, TermFactory termFactory, VariableNullability variableNullability)
buildTermAfterEvaluation in class AbstractDBTypeConversionFunctionSymbolImplprotected DBConstant convertDBConstant(DBConstant constant, TermFactory termFactory)
convertDBConstant in class AbstractDBTypeConversionFunctionSymbolImplpublic String getNativeDBString(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, Function<ImmutableTerm,String> termConverter, TermFactory termFactory)
DBFunctionSymbolSerializerCopyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.