Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 2 additions & 12 deletions isthmus/src/main/java/io/substrait/isthmus/ConverterProvider.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,8 @@
import io.substrait.isthmus.expression.AggregateFunctionConverter;
import io.substrait.isthmus.expression.CallConverters;
import io.substrait.isthmus.expression.ExpressionRexConverter;
import io.substrait.isthmus.expression.FieldSelectionConverter;
import io.substrait.isthmus.expression.RexExpressionConverter;
import io.substrait.isthmus.expression.ScalarFunctionConverter;
import io.substrait.isthmus.expression.SqlArrayValueConstructorCallConverter;
import io.substrait.isthmus.expression.SqlMapValueConstructorCallConverter;
import io.substrait.isthmus.expression.WindowFunctionConverter;
import io.substrait.plan.ImmutableExecutionBehavior;
import io.substrait.plan.Plan;
Expand Down Expand Up @@ -266,15 +263,8 @@ public RexExpressionConverter getRexExpressionConverter(SubstraitRelVisitor srv)
* @return a list of CallConverter instances
*/
public List<CallConverter> getCallConverters() {
ArrayList<CallConverter> callConverters = new ArrayList<>();
callConverters.add(new FieldSelectionConverter(typeConverter));
callConverters.add(CallConverters.CASE);
callConverters.add(CallConverters.ROW);
callConverters.add(CallConverters.CAST.apply(typeConverter));
callConverters.add(CallConverters.REINTERPRET.apply(typeConverter));
callConverters.add(CallConverters.EXECUTION_CONTEXT_VARIABLE);
callConverters.add(new SqlArrayValueConstructorCallConverter(typeConverter));
callConverters.add(new SqlMapValueConstructorCallConverter());
ArrayList<CallConverter> callConverters =
new ArrayList<>(CallConverters.defaults(typeConverter));
callConverters.add(CallConverters.CREATE_SEARCH_CONV.apply(new RexBuilder(typeFactory)));
callConverters.add(scalarFunctionConverter);
return callConverters;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
import org.slf4j.LoggerFactory;

/**
* Utility class for converting Substrait {@link SimpleExtension} function definitions (scalar and
* aggregate) into Calcite {@link SqlOperator}s.
* Utility class for converting Substrait {@link SimpleExtension} function definitions (scalar,
* aggregate, and window) into Calcite {@link SqlOperator}s.
*
* <p>This enables Calcite to recognize and use Substrait-defined functions during query planning
* and execution. Conversion includes:
Expand All @@ -39,7 +39,7 @@
* <li>Inferring return types based on Substrait type expressions and nullability rules
* </ul>
*
* <p>Currently supports scalar and aggregate functions; window functions are not yet implemented.
* <p>Supports scalar, aggregate, and window functions.
*/
public final class SimpleExtensionToSqlOperator {

Expand All @@ -53,8 +53,8 @@ public final class SimpleExtensionToSqlOperator {
private SimpleExtensionToSqlOperator() {}

/**
* Converts all functions in a Substrait {@link SimpleExtension.ExtensionCollection} (scalar and
* aggregate) into Calcite {@link SqlOperator}s using the default type factory.
* Converts all functions in a Substrait {@link SimpleExtension.ExtensionCollection} (scalar,
* aggregate, and window) into Calcite {@link SqlOperator}s using the default type factory.
*
* @param collection The Substrait extension collection containing function definitions.
* @return A list of Calcite {@link SqlOperator}s corresponding to the Substrait functions.
Expand All @@ -64,8 +64,8 @@ public static List<SqlOperator> from(SimpleExtension.ExtensionCollection collect
}

/**
* Converts all functions in a Substrait {@link SimpleExtension.ExtensionCollection} (scalar and
* aggregate) into Calcite {@link SqlOperator}s using a provided type factory.
* Converts all functions in a Substrait {@link SimpleExtension.ExtensionCollection} (scalar,
* aggregate, and window) into Calcite {@link SqlOperator}s using a provided type factory.
*
* @param collection The Substrait extension collection containing function definitions.
* @param typeFactory Calcite {@link RelDataTypeFactory} for type creation and inference.
Expand All @@ -77,8 +77,8 @@ public static List<SqlOperator> from(
}

/**
* Converts all functions in a Substrait {@link SimpleExtension.ExtensionCollection} (scalar and
* aggregate) into Calcite {@link SqlOperator}s with a custom type factory and {@link
* Converts all functions in a Substrait {@link SimpleExtension.ExtensionCollection} (scalar,
* aggregate, and window) into Calcite {@link SqlOperator}s with a custom type factory and {@link
* TypeConverter}.
*
* @param collection The Substrait extension collection containing function definitions.
Expand Down

This file was deleted.

Loading