morrySnow commented on code in PR #24156:
URL: https://github.com/apache/doris/pull/24156#discussion_r1322747581
##########
regression-test/data/nereids_p0/json_p0/test_json.csv:
##########
@@ -0,0 +1,25 @@
+1 \N
+2 null
+3 true
Review Comment:
add all jsonb function test in
regression-test/suites/nereids_function_p0/scalar_function
##########
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/CheckDataTypes.java:
##########
@@ -95,8 +95,6 @@ private void checkTypes(DataType dataType) {
checkTypes(((MapType) dataType).getValueType());
} else if (dataType instanceof StructType) {
((StructType) dataType).getFields().forEach(f ->
this.checkTypes(f.getDataType()));
- } else if (UNSUPPORTED_TYPE.contains(dataType.getClass())) {
- throw new AnalysisException(String.format("type %s is
unsupported for Nereids", dataType));
Review Comment:
should not remove this
##########
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/JsonbExtract.java:
##########
@@ -39,24 +40,25 @@ public class JsonbExtract extends ScalarFunction
implements BinaryExpression, ExplicitlyCastableSignature,
AlwaysNullable {
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
- FunctionSignature.ret(JsonType.INSTANCE).args(JsonType.INSTANCE,
VarcharType.SYSTEM_DEFAULT),
- FunctionSignature.ret(JsonType.INSTANCE).args(JsonType.INSTANCE,
StringType.INSTANCE)
+
FunctionSignature.ret(JsonType.INSTANCE).varArgs(JsonType.INSTANCE,
VarcharType.SYSTEM_DEFAULT),
+
FunctionSignature.ret(JsonType.INSTANCE).varArgs(JsonType.INSTANCE,
StringType.INSTANCE)
);
/**
- * constructor with 2 arguments.
+ * constructor with 2 or more arguments.
*/
- public JsonbExtract(Expression arg0, Expression arg1) {
- super("jsonb_extract", arg0, arg1);
+ public JsonbExtract(Expression arg0, Expression arg1, Expression...
varArgs) {
+ super("jsonb_extract", ExpressionUtils.mergeArguments(arg0, arg1,
varArgs));
}
/**
* withChildren.
*/
@Override
public JsonbExtract withChildren(List<Expression> children) {
- Preconditions.checkArgument(children.size() == 2);
- return new JsonbExtract(children.get(0), children.get(1));
+ Preconditions.checkArgument(children.size() >= 2);
Review Comment:
add check msg
##########
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java:
##########
@@ -1072,6 +1073,10 @@ default R
visitJsonbParseNullableErrorToValue(JsonbParseNullableErrorToValue fun
return visitScalarFunction(function, context);
}
+ default R visitJsonbValid(JsonbValid jsonbValid, C context) {
Review Comment:
add in lexicographical order
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]