This is an automated email from the ASF dual-hosted git repository.
jiajunxie pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite.git
The following commit(s) were added to refs/heads/main by this push:
new edec1c3891 [CALCITE-6037] The function category of
ARRAY/EXTRACT_VALUE/XML_TRANSFORM/EXTRACT_XML/EXISTSNODE is incorrect
edec1c3891 is described below
commit edec1c3891b587aa56c1da09a3dd810f4b7adcc1
Author: Ran Tao <[email protected]>
AuthorDate: Fri Oct 6 15:29:22 2023 +0800
[CALCITE-6037] The function category of
ARRAY/EXTRACT_VALUE/XML_TRANSFORM/EXTRACT_XML/EXISTSNODE is incorrect
---
.../org/apache/calcite/sql/fun/SqlLibraryOperators.java | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git
a/core/src/main/java/org/apache/calcite/sql/fun/SqlLibraryOperators.java
b/core/src/main/java/org/apache/calcite/sql/fun/SqlLibraryOperators.java
index 5c7a6e5a56..3c4949807b 100644
--- a/core/src/main/java/org/apache/calcite/sql/fun/SqlLibraryOperators.java
+++ b/core/src/main/java/org/apache/calcite/sql/fun/SqlLibraryOperators.java
@@ -550,26 +550,30 @@ public abstract class SqlLibraryOperators {
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}. */
@@ -1098,7 +1102,8 @@ public abstract class SqlLibraryOperators {
public static final SqlFunction ARRAY =
SqlBasicFunction.create("ARRAY",
SqlLibraryOperators::arrayReturnType,
- OperandTypes.SAME_VARIADIC);
+ OperandTypes.SAME_VARIADIC,
+ SqlFunctionCategory.SYSTEM);
private static RelDataType mapReturnType(SqlOperatorBinding opBinding) {
Pair<@Nullable RelDataType, @Nullable RelDataType> type =