diff --git a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSqlAggregatorBase.java b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSqlAggregatorBase.java index 7f9f426b6981..4a61f0271eeb 100644 --- a/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSqlAggregatorBase.java +++ b/extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/CompressedBigDecimalSqlAggregatorBase.java @@ -178,7 +178,7 @@ private CompressedBigDecimalSqlAggFunction(String name) OperandTypes.and(OperandTypes.ANY, OperandTypes.family(SqlTypeFamily.ANY)), OperandTypes.and( OperandTypes.sequence( - "'" + name + "'(column, size)", + "'" + name + "(column, size)'", OperandTypes.ANY, OperandTypes.POSITIVE_INTEGER_LITERAL ), @@ -186,7 +186,7 @@ private CompressedBigDecimalSqlAggFunction(String name) ), OperandTypes.and( OperandTypes.sequence( - "'" + name + "'(column, size, scale)", + "'" + name + "(column, size, scale)'", OperandTypes.ANY, OperandTypes.POSITIVE_INTEGER_LITERAL, OperandTypes.POSITIVE_INTEGER_LITERAL @@ -195,7 +195,7 @@ private CompressedBigDecimalSqlAggFunction(String name) ), OperandTypes.and( OperandTypes.sequence( - "'" + name + "'(column, size, scale, strictNumberParsing)", + "'" + name + "(column, size, scale, strictNumberParsing)'", OperandTypes.ANY, OperandTypes.POSITIVE_INTEGER_LITERAL, OperandTypes.POSITIVE_INTEGER_LITERAL, diff --git a/extensions-contrib/tdigestsketch/src/main/java/org/apache/druid/query/aggregation/tdigestsketch/sql/TDigestGenerateSketchSqlAggregator.java b/extensions-contrib/tdigestsketch/src/main/java/org/apache/druid/query/aggregation/tdigestsketch/sql/TDigestGenerateSketchSqlAggregator.java index 5276ef7212cd..ca0a4acc603f 100644 --- a/extensions-contrib/tdigestsketch/src/main/java/org/apache/druid/query/aggregation/tdigestsketch/sql/TDigestGenerateSketchSqlAggregator.java +++ b/extensions-contrib/tdigestsketch/src/main/java/org/apache/druid/query/aggregation/tdigestsketch/sql/TDigestGenerateSketchSqlAggregator.java @@ -148,7 +148,7 @@ public Aggregation toDruidAggregation( private static class TDigestGenerateSketchSqlAggFunction extends SqlAggFunction { - private static final String SIGNATURE_WITH_COMPRESSION = "'" + NAME + "(column, compression)'\n"; + private static final String SIGNATURE_WITH_COMPRESSION = "'" + NAME + "(column, compression)'"; TDigestGenerateSketchSqlAggFunction() { diff --git a/extensions-contrib/tdigestsketch/src/main/java/org/apache/druid/query/aggregation/tdigestsketch/sql/TDigestSketchQuantileSqlAggregator.java b/extensions-contrib/tdigestsketch/src/main/java/org/apache/druid/query/aggregation/tdigestsketch/sql/TDigestSketchQuantileSqlAggregator.java index 09433b4938d0..379e889d3835 100644 --- a/extensions-contrib/tdigestsketch/src/main/java/org/apache/druid/query/aggregation/tdigestsketch/sql/TDigestSketchQuantileSqlAggregator.java +++ b/extensions-contrib/tdigestsketch/src/main/java/org/apache/druid/query/aggregation/tdigestsketch/sql/TDigestSketchQuantileSqlAggregator.java @@ -178,8 +178,8 @@ public Aggregation toDruidAggregation( private static class TDigestSketchQuantileSqlAggFunction extends SqlAggFunction { - private static final String SIGNATURE1 = "'" + NAME + "(column, quantile)'\n"; - private static final String SIGNATURE2 = "'" + NAME + "(column, quantile, compression)'\n"; + private static final String SIGNATURE1 = "'" + NAME + "(column, quantile)'"; + private static final String SIGNATURE2 = "'" + NAME + "(column, quantile, compression)'"; TDigestSketchQuantileSqlAggFunction() { diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/sql/HllSketchApproxCountDistinctSqlAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/sql/HllSketchApproxCountDistinctSqlAggregator.java index 5177e9fd53a7..461b2316f104 100644 --- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/sql/HllSketchApproxCountDistinctSqlAggregator.java +++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/sql/HllSketchApproxCountDistinctSqlAggregator.java @@ -69,7 +69,7 @@ protected Aggregation toAggregation( private static class HllSketchApproxCountDistinctSqlAggFunction extends SqlAggFunction { - private static final String SIGNATURE = "'" + NAME + "(column, lgK, tgtHllType)'\n"; + private static final String SIGNATURE = "'" + NAME + "(column, lgK, tgtHllType)'"; HllSketchApproxCountDistinctSqlAggFunction() { diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/sql/HllSketchObjectSqlAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/sql/HllSketchObjectSqlAggregator.java index 4dc18e176e2d..56fdbd338119 100644 --- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/sql/HllSketchObjectSqlAggregator.java +++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/sql/HllSketchObjectSqlAggregator.java @@ -64,7 +64,7 @@ protected Aggregation toAggregation( private static class HllSketchSqlAggFunction extends SqlAggFunction { - private static final String SIGNATURE = "'" + NAME + "(column, lgK, tgtHllType)'\n"; + private static final String SIGNATURE = "'" + NAME + "(column, lgK, tgtHllType)'"; HllSketchSqlAggFunction() { diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/sql/DoublesSketchApproxQuantileSqlAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/sql/DoublesSketchApproxQuantileSqlAggregator.java index b029eab9036d..0b4bbd7f11b1 100644 --- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/sql/DoublesSketchApproxQuantileSqlAggregator.java +++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/sql/DoublesSketchApproxQuantileSqlAggregator.java @@ -215,8 +215,8 @@ static long getMaxStreamLengthFromQueryContext(QueryContext queryContext) private static class DoublesSketchApproxQuantileSqlAggFunction extends SqlAggFunction { - private static final String SIGNATURE1 = "'" + NAME + "(column, probability)'\n"; - private static final String SIGNATURE2 = "'" + NAME + "(column, probability, k)'\n"; + private static final String SIGNATURE1 = "'" + NAME + "(column, probability)'"; + private static final String SIGNATURE2 = "'" + NAME + "(column, probability, k)'"; DoublesSketchApproxQuantileSqlAggFunction() { diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/sql/DoublesSketchObjectSqlAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/sql/DoublesSketchObjectSqlAggregator.java index cfe728ce4542..b82f02fc4517 100644 --- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/sql/DoublesSketchObjectSqlAggregator.java +++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/sql/DoublesSketchObjectSqlAggregator.java @@ -142,7 +142,7 @@ public Aggregation toDruidAggregation( private static class DoublesSketchSqlAggFunction extends SqlAggFunction { - private static final String SIGNATURE2 = "'" + NAME + "(column, k)'\n"; + private static final String SIGNATURE2 = "'" + NAME + "(column, k)'"; DoublesSketchSqlAggFunction() { diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/sql/ThetaSketchApproxCountDistinctSqlAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/sql/ThetaSketchApproxCountDistinctSqlAggregator.java index fc252f075da3..70eb943a8c77 100644 --- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/sql/ThetaSketchApproxCountDistinctSqlAggregator.java +++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/sql/ThetaSketchApproxCountDistinctSqlAggregator.java @@ -69,7 +69,7 @@ protected Aggregation toAggregation( private static class ThetaSketchSqlAggFunction extends SqlAggFunction { - private static final String SIGNATURE = "'" + NAME + "(column, size)'\n"; + private static final String SIGNATURE = "'" + NAME + "(column, size)'"; ThetaSketchSqlAggFunction() { diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/sql/ThetaSketchObjectSqlAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/sql/ThetaSketchObjectSqlAggregator.java index d0e95096e7d3..91dd36c2fb0e 100644 --- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/sql/ThetaSketchObjectSqlAggregator.java +++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/sql/ThetaSketchObjectSqlAggregator.java @@ -62,7 +62,7 @@ protected Aggregation toAggregation( private static class ThetaSketchObjectSqlAggFunction extends SqlAggFunction { - private static final String SIGNATURE = "'" + NAME + "(column, size)'\n"; + private static final String SIGNATURE = "'" + NAME + "(column, size)'"; ThetaSketchObjectSqlAggFunction() { diff --git a/extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/aggregation/bloom/sql/BloomFilterSqlAggregator.java b/extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/aggregation/bloom/sql/BloomFilterSqlAggregator.java index 1cbd6ca8b1da..0ec265595e11 100644 --- a/extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/aggregation/bloom/sql/BloomFilterSqlAggregator.java +++ b/extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/aggregation/bloom/sql/BloomFilterSqlAggregator.java @@ -182,7 +182,7 @@ public Aggregation toDruidAggregation( private static class BloomFilterSqlAggFunction extends SqlAggFunction { - private static final String SIGNATURE1 = "'" + NAME + "(column, maxNumEntries)'\n"; + private static final String SIGNATURE1 = "'" + NAME + "(column, maxNumEntries)'"; BloomFilterSqlAggFunction() { diff --git a/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/sql/FixedBucketsHistogramQuantileSqlAggregator.java b/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/sql/FixedBucketsHistogramQuantileSqlAggregator.java index 3c89653bb9d7..3f0bd14f8449 100644 --- a/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/sql/FixedBucketsHistogramQuantileSqlAggregator.java +++ b/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/sql/FixedBucketsHistogramQuantileSqlAggregator.java @@ -259,11 +259,11 @@ private static class FixedBucketsHistogramQuantileSqlAggFunction extends SqlAggF private static final String SIGNATURE1 = "'" + NAME - + "(column, probability, numBuckets, lowerLimit, upperLimit)'\n"; + + "(column, probability, numBuckets, lowerLimit, upperLimit)'"; private static final String SIGNATURE2 = "'" + NAME - + "(column, probability, numBuckets, lowerLimit, upperLimit, outlierHandlingMode)'\n"; + + "(column, probability, numBuckets, lowerLimit, upperLimit, outlierHandlingMode)'"; FixedBucketsHistogramQuantileSqlAggFunction() { diff --git a/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/sql/QuantileSqlAggregator.java b/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/sql/QuantileSqlAggregator.java index 3b1598d12de1..9ba7604d7095 100644 --- a/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/sql/QuantileSqlAggregator.java +++ b/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/sql/QuantileSqlAggregator.java @@ -213,8 +213,8 @@ public Aggregation toDruidAggregation( private static class QuantileSqlAggFunction extends SqlAggFunction { - private static final String SIGNATURE1 = "'" + NAME + "(column, probability)'\n"; - private static final String SIGNATURE2 = "'" + NAME + "(column, probability, resolution)'\n"; + private static final String SIGNATURE1 = "'" + NAME + "(column, probability)'"; + private static final String SIGNATURE2 = "'" + NAME + "(column, probability, resolution)'"; QuantileSqlAggFunction() { diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/ArrayConcatSqlAggregator.java b/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/ArrayConcatSqlAggregator.java index 86e1ec8a739d..86aaf55c6851 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/ArrayConcatSqlAggregator.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/ArrayConcatSqlAggregator.java @@ -163,7 +163,7 @@ private static class ArrayConcatAggFunction extends SqlAggFunction OperandTypes.or( OperandTypes.ARRAY, OperandTypes.sequence( - StringUtils.format("'%s'(expr, maxSizeBytes)", NAME), + StringUtils.format("'%s(expr, maxSizeBytes)'", NAME), OperandTypes.ARRAY, OperandTypes.POSITIVE_INTEGER_LITERAL ) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/ArraySqlAggregator.java b/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/ArraySqlAggregator.java index fe191ac96bf6..ec914dac7f8e 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/ArraySqlAggregator.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/ArraySqlAggregator.java @@ -187,7 +187,7 @@ private static class ArrayAggFunction extends SqlAggFunction OperandTypes.or( OperandTypes.ANY, OperandTypes.and( - OperandTypes.sequence(StringUtils.format("%s(expr, maxSizeBytes)", NAME), OperandTypes.ANY, OperandTypes.POSITIVE_INTEGER_LITERAL), + OperandTypes.sequence(StringUtils.format("'%s(expr, maxSizeBytes)'", NAME), OperandTypes.ANY, OperandTypes.POSITIVE_INTEGER_LITERAL), OperandTypes.family(SqlTypeFamily.ANY, SqlTypeFamily.NUMERIC) ) ), diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/EarliestLatestAnySqlAggregator.java b/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/EarliestLatestAnySqlAggregator.java index 85a3ef8d1ddf..6efc8846e914 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/EarliestLatestAnySqlAggregator.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/EarliestLatestAnySqlAggregator.java @@ -301,7 +301,7 @@ private static class EarliestLatestSqlAggFunction extends SqlAggFunction OperandTypes.NUMERIC, OperandTypes.BOOLEAN, OperandTypes.sequence( - "'" + aggregatorType.name() + "(expr, maxBytesPerString)'\n", + "'" + aggregatorType.name() + "(expr, maxBytesPerString)'", OperandTypes.ANY, OperandTypes.and(OperandTypes.NUMERIC, OperandTypes.LITERAL) ) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/EarliestLatestBySqlAggregator.java b/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/EarliestLatestBySqlAggregator.java index 9d9a5e9bf66e..ef653d700327 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/EarliestLatestBySqlAggregator.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/EarliestLatestBySqlAggregator.java @@ -168,12 +168,12 @@ private static class EarliestByLatestBySqlAggFunction extends SqlAggFunction InferTypes.RETURN_TYPE, OperandTypes.or( OperandTypes.sequence( - "'" + aggregatorType.name() + "(expr, timeColumn)'\n", + "'" + StringUtils.format("%s_BY", aggregatorType.name()) + "(expr, timeColumn)'", OperandTypes.ANY, OperandTypes.family(SqlTypeFamily.TIMESTAMP) ), OperandTypes.sequence( - "'" + aggregatorType.name() + "(expr, timeColumn, maxBytesPerString)'\n", + "'" + StringUtils.format("%s_BY", aggregatorType.name()) + "(expr, timeColumn, maxBytesPerString)'", OperandTypes.ANY, OperandTypes.family(SqlTypeFamily.TIMESTAMP), OperandTypes.and(OperandTypes.NUMERIC, OperandTypes.LITERAL) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/StringSqlAggregator.java b/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/StringSqlAggregator.java index acdd28c6e396..53d7fc4cf7ae 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/StringSqlAggregator.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/StringSqlAggregator.java @@ -222,7 +222,7 @@ private static class StringAggFunction extends SqlAggFunction OperandTypes.or( OperandTypes.and( OperandTypes.sequence( - StringUtils.format("'%s'(expr, separator)", NAME), + StringUtils.format("'%s(expr, separator)'", NAME), OperandTypes.ANY, OperandTypes.STRING ), @@ -230,7 +230,7 @@ private static class StringAggFunction extends SqlAggFunction ), OperandTypes.and( OperandTypes.sequence( - StringUtils.format("'%s'(expr, separator, maxSizeBytes)", NAME), + StringUtils.format("'%s(expr, separator, maxSizeBytes)'", NAME), OperandTypes.ANY, OperandTypes.STRING, OperandTypes.POSITIVE_INTEGER_LITERAL diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayAppendOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayAppendOperatorConversion.java index 9ec338ebfa25..9e1928477d2a 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayAppendOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayAppendOperatorConversion.java @@ -33,7 +33,7 @@ public class ArrayAppendOperatorConversion extends DirectOperatorConversion .operatorBuilder("ARRAY_APPEND") .operandTypeChecker( OperandTypes.sequence( - "(array,expr)", + "'ARRAY_APPEND(array, expr)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayConcatOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayConcatOperatorConversion.java index 8f865d96e692..3a0c47118d56 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayConcatOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayConcatOperatorConversion.java @@ -33,7 +33,7 @@ public class ArrayConcatOperatorConversion extends DirectOperatorConversion .operatorBuilder("ARRAY_CONCAT") .operandTypeChecker( OperandTypes.sequence( - "(array,array)", + "'ARRAY_CONCAT(array, array)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayContainsOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayContainsOperatorConversion.java index c2d78b306a5a..02f56ffdaf12 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayContainsOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayContainsOperatorConversion.java @@ -52,7 +52,7 @@ public class ArrayContainsOperatorConversion extends BaseExpressionDimFilterOper .operatorBuilder("ARRAY_CONTAINS") .operandTypeChecker( OperandTypes.sequence( - "(array,array)", + "'ARRAY_CONTAINS(array, array)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOffsetOfOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOffsetOfOperatorConversion.java index 51c78b85ee05..40f935e8e03c 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOffsetOfOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOffsetOfOperatorConversion.java @@ -33,7 +33,7 @@ public class ArrayOffsetOfOperatorConversion extends DirectOperatorConversion .operatorBuilder("ARRAY_OFFSET_OF") .operandTypeChecker( OperandTypes.sequence( - "(array,expr)", + "'ARRAY_OFFSET_OF(array, expr)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOffsetOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOffsetOperatorConversion.java index 0ee93e8f6971..0c9a36a09f78 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOffsetOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOffsetOperatorConversion.java @@ -32,7 +32,7 @@ public class ArrayOffsetOperatorConversion extends DirectOperatorConversion .operatorBuilder("ARRAY_OFFSET") .operandTypeChecker( OperandTypes.sequence( - "(array,expr)", + "'ARRAY_OFFSET(array, expr)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOrdinalOfOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOrdinalOfOperatorConversion.java index cf7261d48c41..f8fada8be3d8 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOrdinalOfOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOrdinalOfOperatorConversion.java @@ -33,7 +33,7 @@ public class ArrayOrdinalOfOperatorConversion extends DirectOperatorConversion .operatorBuilder("ARRAY_ORDINAL_OF") .operandTypeChecker( OperandTypes.sequence( - "(array,expr)", + "'ARRAY_ORDINAL_OF(array, expr)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOrdinalOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOrdinalOperatorConversion.java index b758c2a89722..8e5e851ea0be 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOrdinalOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOrdinalOperatorConversion.java @@ -38,7 +38,7 @@ public class ArrayOrdinalOperatorConversion extends DirectOperatorConversion .operatorBuilder("ARRAY_ORDINAL") .operandTypeChecker( OperandTypes.sequence( - "(array,expr)", + "'ARRAY_ORDINAL(array, expr)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOverlapOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOverlapOperatorConversion.java index cda69526f744..fbf4f654d5f8 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOverlapOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayOverlapOperatorConversion.java @@ -52,7 +52,7 @@ public class ArrayOverlapOperatorConversion extends BaseExpressionDimFilterOpera .operatorBuilder("ARRAY_OVERLAP") .operandTypeChecker( OperandTypes.sequence( - "(array,array)", + "'ARRAY_OVERLAP(array, array)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayPrependOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayPrependOperatorConversion.java index b6306aa17111..73df2daa467f 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayPrependOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayPrependOperatorConversion.java @@ -33,7 +33,7 @@ public class ArrayPrependOperatorConversion extends DirectOperatorConversion .operatorBuilder("ARRAY_PREPEND") .operandTypeChecker( OperandTypes.sequence( - "(expr,array)", + "'ARRAY_PREPEND(expr, array)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.STRING), OperandTypes.family(SqlTypeFamily.NUMERIC) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArraySliceOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArraySliceOperatorConversion.java index db84d9df1023..bb08a55d89ce 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArraySliceOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArraySliceOperatorConversion.java @@ -34,7 +34,7 @@ public class ArraySliceOperatorConversion extends DirectOperatorConversion .operandTypeChecker( OperandTypes.or( OperandTypes.sequence( - "(expr,start)", + "'ARRAY_SLICE(expr, start)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) @@ -42,7 +42,7 @@ public class ArraySliceOperatorConversion extends DirectOperatorConversion OperandTypes.family(SqlTypeFamily.NUMERIC) ), OperandTypes.sequence( - "(expr,start,end)", + "'ARRAY_SLICE(expr, start, end)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayToStringOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayToStringOperatorConversion.java index 7cecfd2288eb..3dfd598431d0 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayToStringOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ArrayToStringOperatorConversion.java @@ -33,7 +33,7 @@ public class ArrayToStringOperatorConversion extends DirectOperatorConversion .operatorBuilder("ARRAY_TO_STRING") .operandTypeChecker( OperandTypes.sequence( - "(array,expr)", + "'ARRAY_TO_STRING(array, expr)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ComplexDecodeBase64OperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ComplexDecodeBase64OperatorConversion.java index 0822e1575085..94b90ed9af8d 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ComplexDecodeBase64OperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/ComplexDecodeBase64OperatorConversion.java @@ -54,7 +54,7 @@ public class ComplexDecodeBase64OperatorConversion implements SqlOperatorConvers .operatorBuilder(StringUtils.toUpperCase(BuiltInExprMacros.ComplexDecodeBase64ExprMacro.NAME)) .operandTypeChecker( OperandTypes.sequence( - "(typeName,base64)", + "'" + StringUtils.toUpperCase(BuiltInExprMacros.ComplexDecodeBase64ExprMacro.NAME) + "(typeName, base64)'", OperandTypes.and(OperandTypes.family(SqlTypeFamily.STRING), OperandTypes.LITERAL), OperandTypes.ANY ) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/IPv4AddressMatchOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/IPv4AddressMatchOperatorConversion.java index 2ecee46c02f6..254eb9885fbd 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/IPv4AddressMatchOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/IPv4AddressMatchOperatorConversion.java @@ -42,7 +42,13 @@ public class IPv4AddressMatchOperatorConversion extends DirectOperatorConversion private static final SqlFunction SQL_FUNCTION = OperatorConversions .operatorBuilder(StringUtils.toUpperCase(IPv4AddressMatchExprMacro.FN_NAME)) - .operandTypeChecker(OperandTypes.sequence("(expr,string)", ADDRESS_OPERAND, SUBNET_OPERAND)) + .operandTypeChecker( + OperandTypes.sequence( + "'" + StringUtils.toUpperCase(IPv4AddressMatchExprMacro.FN_NAME) + "(expr, string)'", + ADDRESS_OPERAND, + SUBNET_OPERAND + ) + ) .returnTypeInference(ReturnTypes.BOOLEAN_NULLABLE) .functionCategory(SqlFunctionCategory.USER_DEFINED_FUNCTION) .build(); diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/MultiValueStringOperatorConversions.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/MultiValueStringOperatorConversions.java index 6a0b24db19b4..d64ca9b19201 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/MultiValueStringOperatorConversions.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/MultiValueStringOperatorConversions.java @@ -61,7 +61,7 @@ public static class Append extends ArrayAppendOperatorConversion .operatorBuilder("MV_APPEND") .operandTypeChecker( OperandTypes.sequence( - "(array,expr)", + "'MV_APPEND(array, expr)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) @@ -86,7 +86,7 @@ public static class Prepend extends ArrayPrependOperatorConversion .operatorBuilder("MV_PREPEND") .operandTypeChecker( OperandTypes.sequence( - "(expr,array)", + "'MV_PREPEND(expr, array)'", OperandTypes.family(SqlTypeFamily.STRING), OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), @@ -111,7 +111,7 @@ public static class Concat extends ArrayConcatOperatorConversion .operatorBuilder("MV_CONCAT") .operandTypeChecker( OperandTypes.sequence( - "(array,array)", + "'MV_CONCAT(array, array)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) @@ -139,7 +139,7 @@ public static class Contains extends ArrayContainsOperatorConversion .operatorBuilder("MV_CONTAINS") .operandTypeChecker( OperandTypes.sequence( - "(array,array)", + "'MV_CONTAINS(array, array)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) @@ -167,7 +167,7 @@ public static class Offset extends ArrayOffsetOperatorConversion .operatorBuilder("MV_OFFSET") .operandTypeChecker( OperandTypes.sequence( - "(array,expr)", + "'MV_OFFSET(array, expr)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) @@ -192,7 +192,7 @@ public static class Ordinal extends ArrayOrdinalOperatorConversion .operatorBuilder("MV_ORDINAL") .operandTypeChecker( OperandTypes.sequence( - "(array,expr)", + "'MV_ORDINAL(array, expr)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) @@ -218,7 +218,7 @@ public static class Slice extends ArraySliceOperatorConversion .operandTypeChecker( OperandTypes.or( OperandTypes.sequence( - "(expr,start)", + "'MV_SLICE(expr, start)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) @@ -226,7 +226,7 @@ public static class Slice extends ArraySliceOperatorConversion OperandTypes.family(SqlTypeFamily.NUMERIC) ), OperandTypes.sequence( - "(expr,start,end)", + "'MV_SLICE(expr, start, end)'", OperandTypes.or( OperandTypes.family(SqlTypeFamily.ARRAY), OperandTypes.family(SqlTypeFamily.STRING) @@ -253,7 +253,7 @@ public static class StringToMultiString extends StringToArrayOperatorConversion .operatorBuilder("STRING_TO_MV") .operandTypeChecker( OperandTypes.sequence( - "(string,expr)", + "'STRING_TO_MV(string, expr)'", OperandTypes.family(SqlTypeFamily.STRING), OperandTypes.family(SqlTypeFamily.STRING) ) @@ -398,7 +398,7 @@ public static class FilterOnly extends ListFilter .operatorBuilder("MV_FILTER_ONLY") .operandTypeChecker( OperandTypes.sequence( - "(string,array)", + "'MV_FILTER_ONLY(string, array)'", OperandTypes.family(SqlTypeFamily.STRING), OperandTypes.family(SqlTypeFamily.ARRAY) ) @@ -427,7 +427,7 @@ public static class FilterNone extends ListFilter .operatorBuilder("MV_FILTER_NONE") .operandTypeChecker( OperandTypes.sequence( - "(string,array)", + "'MV_FILTER_NONE(string, array)'", OperandTypes.family(SqlTypeFamily.STRING), OperandTypes.family(SqlTypeFamily.ARRAY) ) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/NestedDataOperatorConversions.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/NestedDataOperatorConversions.java index 872af4bec7fe..76640bcf809b 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/NestedDataOperatorConversions.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/NestedDataOperatorConversions.java @@ -117,7 +117,7 @@ public static class JsonKeysOperatorConversion implements SqlOperatorConversion .operatorBuilder("JSON_KEYS") .operandTypeChecker( OperandTypes.sequence( - "(expr,path)", + "'JSON_KEYS(expr, path)'", OperandTypes.ANY, OperandTypes.and(OperandTypes.family(SqlTypeFamily.STRING), OperandTypes.LITERAL) ) @@ -428,7 +428,7 @@ static SqlFunction buildFunction(String functionName, SqlTypeName typeName) return OperatorConversions.operatorBuilder(functionName) .operandTypeChecker( OperandTypes.sequence( - "(expr,path)", + "'" + functionName + "(expr, path)'", OperandTypes.family(SqlTypeFamily.ANY), OperandTypes.family(SqlTypeFamily.STRING) ) @@ -558,7 +558,7 @@ static SqlFunction buildArrayFunction(String functionName, SqlTypeName elementTy return OperatorConversions.operatorBuilder(functionName) .operandTypeChecker( OperandTypes.sequence( - "(expr,path)", + "'" + functionName + "(expr, path)'", OperandTypes.family(SqlTypeFamily.ANY), OperandTypes.family(SqlTypeFamily.STRING) ) @@ -610,7 +610,7 @@ public static class JsonValueAnyOperatorConversion implements SqlOperatorConvers .operandTypeChecker( OperandTypes.or( OperandTypes.sequence( - "(expr,path)", + "'JSON_VALUE_ANY(expr, path)'", OperandTypes.family(SqlTypeFamily.ANY), OperandTypes.family(SqlTypeFamily.STRING) ), diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/StringToArrayOperatorConversion.java b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/StringToArrayOperatorConversion.java index 087aada4a26e..35a01a7edc09 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/StringToArrayOperatorConversion.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/expression/builtin/StringToArrayOperatorConversion.java @@ -34,7 +34,7 @@ public class StringToArrayOperatorConversion extends DirectOperatorConversion .operatorBuilder("STRING_TO_ARRAY") .operandTypeChecker( OperandTypes.sequence( - "(string,expr)", + "'STRING_TO_ARRAY(string, expr)'", OperandTypes.family(SqlTypeFamily.STRING), OperandTypes.family(SqlTypeFamily.STRING) ) diff --git a/sql/src/main/java/org/apache/druid/sql/calcite/planner/convertlet/TimeInIntervalConvertletFactory.java b/sql/src/main/java/org/apache/druid/sql/calcite/planner/convertlet/TimeInIntervalConvertletFactory.java index 5201d1e8e635..b99043e5fcb3 100644 --- a/sql/src/main/java/org/apache/druid/sql/calcite/planner/convertlet/TimeInIntervalConvertletFactory.java +++ b/sql/src/main/java/org/apache/druid/sql/calcite/planner/convertlet/TimeInIntervalConvertletFactory.java @@ -55,7 +55,7 @@ public class TimeInIntervalConvertletFactory implements DruidConvertletFactory .operatorBuilder(NAME) .operandTypeChecker( OperandTypes.sequence( - NAME + "(, )", + "'" + NAME + "(, )'", OperandTypes.family(SqlTypeFamily.TIMESTAMP), OperandTypes.and(OperandTypes.family(SqlTypeFamily.CHARACTER), OperandTypes.LITERAL) ) diff --git a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java index 54036f705ad7..bfe870116101 100644 --- a/sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java +++ b/sql/src/test/java/org/apache/druid/sql/calcite/CalciteQueryTest.java @@ -5866,7 +5866,7 @@ public void testCountStarWithTimeInIntervalFilterNonLiteral() expected.expect(ThrowableMessageMatcher.hasMessage(CoreMatchers.containsString( "From line 1, column 38 to line 1, column 67: " + "Cannot apply 'TIME_IN_INTERVAL' to arguments of type 'TIME_IN_INTERVAL(, )'. " - + "Supported form(s): TIME_IN_INTERVAL(, )"))); + + "Supported form(s): 'TIME_IN_INTERVAL(, )'"))); } ); }