public class EvaluatingNormalizer
extends java.lang.Object
E.g.: The query
and(true, eq(column_ref, 'someliteral'))
will be changed to
eq(column_ref, 'someliteral')
Constructor and Description |
---|
EvaluatingNormalizer(AnalysisMetaData analysisMetaData,
FieldResolver fieldResolver,
boolean inPlace) |
EvaluatingNormalizer(Functions functions,
RowGranularity granularity,
ReferenceResolver<? extends Input<?>> referenceResolver) |
EvaluatingNormalizer(Functions functions,
RowGranularity granularity,
ReferenceResolver<? extends Input<?>> referenceResolver,
FieldResolver fieldResolver,
boolean inPlace) |
public EvaluatingNormalizer(Functions functions, RowGranularity granularity, ReferenceResolver<? extends Input<?>> referenceResolver, @Nullable FieldResolver fieldResolver, boolean inPlace)
functions
- function resolvergranularity
- the maximum row granularity the normalizer should try to normalizereferenceResolver
- reference resolver which is used to resolve pathsfieldResolver
- optional field resolver to resolve fieldsinPlace
- defines if symbols like functions can be changed inplace instead of being copied when changedpublic EvaluatingNormalizer(Functions functions, RowGranularity granularity, ReferenceResolver<? extends Input<?>> referenceResolver)
public EvaluatingNormalizer(AnalysisMetaData analysisMetaData, FieldResolver fieldResolver, boolean inPlace)
public java.util.List<Symbol> normalize(java.util.List<Symbol> symbols)
symbols
- the list to be normalizedpublic void normalizeInplace(@Nullable java.util.List<Symbol> symbols)
symbols
- the list to be normalized