Skip to content

Commit

Permalink
[CALCITE-6037] The function category of ARRAY/EXTRACT_VALUE/XML_TRANS…
Browse files Browse the repository at this point in the history
…FORM/EXTRACT_XML/EXISTSNODE is incorrect
  • Loading branch information
chucheng92 committed Oct 19, 2023
1 parent ab3f5b0 commit 9c62f71
Showing 1 changed file with 10 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -532,26 +532,30 @@ static RelDataType deriveTypeSplit(SqlOperatorBinding operatorBinding,
public static final SqlFunction EXTRACT_VALUE =
SqlBasicFunction.create("EXTRACTVALUE",
ReturnTypes.VARCHAR_2000.andThen(SqlTypeTransforms.FORCE_NULLABLE),
OperandTypes.STRING_STRING);
OperandTypes.STRING_STRING,
SqlFunctionCategory.STRING);

@LibraryOperator(libraries = {ORACLE})
public static final SqlFunction XML_TRANSFORM =
SqlBasicFunction.create("XMLTRANSFORM",
ReturnTypes.VARCHAR.andThen(SqlTypeTransforms.FORCE_NULLABLE),
OperandTypes.STRING_STRING);
OperandTypes.STRING_STRING,
SqlFunctionCategory.STRING);

@LibraryOperator(libraries = {ORACLE})
public static final SqlFunction EXTRACT_XML =
SqlBasicFunction.create("EXTRACT",
ReturnTypes.VARCHAR.andThen(SqlTypeTransforms.FORCE_NULLABLE),
OperandTypes.STRING_STRING_OPTIONAL_STRING);
OperandTypes.STRING_STRING_OPTIONAL_STRING,
SqlFunctionCategory.STRING);

@LibraryOperator(libraries = {ORACLE})
public static final SqlFunction EXISTS_NODE =
SqlBasicFunction.create("EXISTSNODE",
ReturnTypes.INTEGER_NULLABLE
.andThen(SqlTypeTransforms.FORCE_NULLABLE),
OperandTypes.STRING_STRING_OPTIONAL_STRING);
OperandTypes.STRING_STRING_OPTIONAL_STRING,
SqlFunctionCategory.STRING);

/** The "BOOL_AND(condition)" aggregate function, PostgreSQL and Redshift's
* equivalent to {@link SqlStdOperatorTable#EVERY}. */
Expand Down Expand Up @@ -1075,7 +1079,8 @@ private static RelDataType arrayReturnType(SqlOperatorBinding opBinding) {
public static final SqlFunction ARRAY =
SqlBasicFunction.create("ARRAY",
SqlLibraryOperators::arrayReturnType,
OperandTypes.SAME_VARIADIC);
OperandTypes.SAME_VARIADIC,
SqlFunctionCategory.SYSTEM);

@SuppressWarnings("argument.type.incompatible")
private static RelDataType arrayAppendPrependReturnType(SqlOperatorBinding opBinding) {
Expand Down

0 comments on commit 9c62f71

Please sign in to comment.