io.substrait.extendedexpression.ExtendedExpression Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Create a well-defined, cross-language specification for data compute operations
package io.substrait.extendedexpression;
import io.substrait.expression.Expression;
import io.substrait.proto.AdvancedExtension;
import io.substrait.relation.Aggregate;
import io.substrait.type.NamedStruct;
import java.util.List;
import java.util.Optional;
import org.immutables.value.Value;
@Value.Immutable
public abstract class ExtendedExpression {
public abstract List getReferredExpressions();
public abstract NamedStruct getBaseSchema();
public abstract List getExpectedTypeUrls();
// creating simple extensions, such as extensionURIs and extensions, is performed on the fly
public abstract Optional getAdvancedExtension();
public interface ExpressionReferenceBase {
List getOutputNames();
}
@Value.Immutable
public abstract static class ExpressionReference implements ExpressionReferenceBase {
public abstract Expression getExpression();
}
@Value.Immutable
public abstract static class AggregateFunctionReference implements ExpressionReferenceBase {
public abstract Aggregate.Measure getMeasure();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy