Skip to content

Commit 18921bd

Browse files
committed
Create type checker for geoip function
Signed-off-by: Yuanchun Shen <yuanchu@amazon.com>
1 parent 63c94a4 commit 18921bd

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

opensearch/src/main/java/org/opensearch/sql/opensearch/functions/GeoIpFunction.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import org.apache.calcite.rel.type.RelDataType;
1717
import org.apache.calcite.rel.type.RelDataTypeFactory;
1818
import org.apache.calcite.rex.RexCall;
19+
import org.apache.calcite.sql.type.CompositeOperandTypeChecker;
20+
import org.apache.calcite.sql.type.OperandTypes;
1921
import org.apache.calcite.sql.type.SqlReturnTypeInference;
2022
import org.apache.calcite.sql.type.SqlTypeName;
2123
import org.opensearch.geospatial.action.IpEnrichmentActionClient;
@@ -24,6 +26,7 @@
2426
import org.opensearch.sql.data.model.ExprTupleValue;
2527
import org.opensearch.sql.data.model.ExprValue;
2628
import org.opensearch.sql.expression.function.ImplementorUDF;
29+
import org.opensearch.sql.expression.function.UDFOperandMetadata;
2730
import org.opensearch.transport.client.node.NodeClient;
2831

2932
/**
@@ -53,6 +56,13 @@ public SqlReturnTypeInference getReturnTypeInference() {
5356
};
5457
}
5558

59+
@Override
60+
public UDFOperandMetadata getOperandMetadata() {
61+
return UDFOperandMetadata.wrap(
62+
(CompositeOperandTypeChecker)
63+
OperandTypes.STRING_STRING.or(OperandTypes.STRING_STRING_STRING));
64+
}
65+
5666
public static class GeoIPImplementor implements NotNullImplementor {
5767
@Getter private static NodeClient nodeClient;
5868

0 commit comments

Comments
 (0)