public interface FunctionSymbol extends Predicate
| Modifier and Type | Interface and Description |
|---|---|
static interface |
FunctionSymbol.FunctionalTermNullability |
| Modifier and Type | Method and Description |
|---|---|
Optional<ImmutableFunctionalTerm.FunctionalTermDecomposition> |
analyzeInjectivity(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments,
com.google.common.collect.ImmutableSet<Variable> nonFreeVariables,
VariableNullability variableNullability,
VariableGenerator variableGenerator,
TermFactory termFactory) |
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) |
FunctionSymbol.FunctionalTermNullability |
evaluateNullability(com.google.common.collect.ImmutableList<? extends NonFunctionalTerm> arguments,
VariableNullability childNullability,
TermFactory termFactory) |
IncrementalEvaluation |
evaluateStrictEq(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
ImmutableTerm otherTerm,
TermFactory termFactory,
VariableNullability variableNullability) |
TermType |
getExpectedBaseType(int index) |
Optional<TermTypeInference> |
inferType(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms) |
boolean |
isAggregation()
Returns true for SUM, AVG, etc.
|
boolean |
isDeterministic() |
boolean |
isNullable(com.google.common.collect.ImmutableSet<Integer> nullableIndexes) |
Stream<Variable> |
proposeProvenanceVariables(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms)
Returns some variables are required to non-null for the functional term to be non-null.
|
ImmutableTerm |
simplify(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability) |
FunctionalTermSimplification |
simplifyAsGuaranteedToBeNonNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory)
See ImmutableFunctionalTerm.simplifyAsGuaranteedToBeNonNull() for an explanation
|
Optional<ImmutableFunctionalTerm.FunctionalTermDecomposition> analyzeInjectivity(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments, com.google.common.collect.ImmutableSet<Variable> nonFreeVariables, VariableNullability variableNullability, VariableGenerator variableGenerator, TermFactory termFactory)
FunctionSymbol.FunctionalTermNullability evaluateNullability(com.google.common.collect.ImmutableList<? extends NonFunctionalTerm> arguments, VariableNullability childNullability, TermFactory termFactory)
Optional<TermTypeInference> inferType(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms)
ImmutableTerm simplify(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, TermFactory termFactory, VariableNullability variableNullability)
TermType getExpectedBaseType(int index)
IncrementalEvaluation evaluateStrictEq(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, ImmutableTerm otherTerm, TermFactory termFactory, VariableNullability variableNullability)
IncrementalEvaluation evaluateIsNotNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, TermFactory termFactory, VariableNullability variableNullability)
boolean canBePostProcessed(com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
boolean isDeterministic()
boolean isAggregation()
boolean isNullable(com.google.common.collect.ImmutableSet<Integer> nullableIndexes)
Stream<Variable> proposeProvenanceVariables(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms)
FunctionalTermSimplification simplifyAsGuaranteedToBeNonNull(com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, TermFactory termFactory)
Copyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.