This is an automated email from the ASF dual-hosted git repository.
cwylie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 2d258a95ad Fix `EARLIEST_BY`/`LATEST_BY` signature and include
function name in signature. (#14352)
2d258a95ad is described below
commit 2d258a95ad7e63191ae4d40a6d61f045df9f09fa
Author: Abhishek Radhakrishnan <[email protected]>
AuthorDate: Tue Jun 6 09:41:05 2023 -0700
Fix `EARLIEST_BY`/`LATEST_BY` signature and include function name in
signature. (#14352)
* Fix EarliestLatestBySqlAggregator signature; Include function name for
all signatures.
* Single quote function signatures, space between args and remove \n.
* fixup UT assertion
---
.../CompressedBigDecimalSqlAggregatorBase.java | 6 +++---
.../sql/TDigestGenerateSketchSqlAggregator.java | 2 +-
.../sql/TDigestSketchQuantileSqlAggregator.java | 4 ++--
.../HllSketchApproxCountDistinctSqlAggregator.java | 2 +-
.../hll/sql/HllSketchObjectSqlAggregator.java | 2 +-
.../DoublesSketchApproxQuantileSqlAggregator.java | 4 ++--
.../sql/DoublesSketchObjectSqlAggregator.java | 2 +-
...hetaSketchApproxCountDistinctSqlAggregator.java | 2 +-
.../theta/sql/ThetaSketchObjectSqlAggregator.java | 2 +-
.../bloom/sql/BloomFilterSqlAggregator.java | 2 +-
...FixedBucketsHistogramQuantileSqlAggregator.java | 4 ++--
.../histogram/sql/QuantileSqlAggregator.java | 4 ++--
.../builtin/ArrayConcatSqlAggregator.java | 2 +-
.../aggregation/builtin/ArraySqlAggregator.java | 2 +-
.../builtin/EarliestLatestAnySqlAggregator.java | 2 +-
.../builtin/EarliestLatestBySqlAggregator.java | 4 ++--
.../aggregation/builtin/StringSqlAggregator.java | 4 ++--
.../builtin/ArrayAppendOperatorConversion.java | 2 +-
.../builtin/ArrayConcatOperatorConversion.java | 2 +-
.../builtin/ArrayContainsOperatorConversion.java | 2 +-
.../builtin/ArrayOffsetOfOperatorConversion.java | 2 +-
.../builtin/ArrayOffsetOperatorConversion.java | 2 +-
.../builtin/ArrayOrdinalOfOperatorConversion.java | 2 +-
.../builtin/ArrayOrdinalOperatorConversion.java | 2 +-
.../builtin/ArrayOverlapOperatorConversion.java | 2 +-
.../builtin/ArrayPrependOperatorConversion.java | 2 +-
.../builtin/ArraySliceOperatorConversion.java | 4 ++--
.../builtin/ArrayToStringOperatorConversion.java | 2 +-
.../ComplexDecodeBase64OperatorConversion.java | 2 +-
.../IPv4AddressMatchOperatorConversion.java | 8 +++++++-
.../MultiValueStringOperatorConversions.java | 22 +++++++++++-----------
.../builtin/NestedDataOperatorConversions.java | 8 ++++----
.../builtin/StringToArrayOperatorConversion.java | 2 +-
.../TimeInIntervalConvertletFactory.java | 2 +-
.../apache/druid/sql/calcite/CalciteQueryTest.java | 2 +-
35 files changed, 63 insertions(+), 57 deletions(-)
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 7f9f426b69..4a61f0271e 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 @@ public abstract class CompressedBigDecimalSqlAggregatorBase
implements SqlAggreg
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 @@ public abstract class CompressedBigDecimalSqlAggregatorBase
implements SqlAggreg
),
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 @@ public abstract class CompressedBigDecimalSqlAggregatorBase
implements SqlAggreg
),
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 5276ef7212..ca0a4acc60 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 class TDigestGenerateSketchSqlAggregator implements
SqlAggregator
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 09433b4938..379e889d38 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 class TDigestSketchQuantileSqlAggregator implements
SqlAggregator
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 5177e9fd53..461b2316f1 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 @@ public class HllSketchApproxCountDistinctSqlAggregator
extends HllSketchBaseSqlA
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 4dc18e176e..56fdbd3381 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 @@ public class HllSketchObjectSqlAggregator extends
HllSketchBaseSqlAggregator imp
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 b029eab903..0b4bbd7f11 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 @@ public class DoublesSketchApproxQuantileSqlAggregator
implements SqlAggregator
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 cfe728ce45..b82f02fc45 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 class DoublesSketchObjectSqlAggregator implements
SqlAggregator
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 fc252f075d..70eb943a8c 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 @@ public class ThetaSketchApproxCountDistinctSqlAggregator
extends ThetaSketchBase
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 d0e95096e7..91dd36c2fb 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 @@ public class ThetaSketchObjectSqlAggregator extends
ThetaSketchBaseSqlAggregator
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 1cbd6ca8b1..0ec265595e 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 class BloomFilterSqlAggregator implements
SqlAggregator
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 3c89653bb9..3f0bd14f84 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 @@ public class FixedBucketsHistogramQuantileSqlAggregator
implements SqlAggregator
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 3b1598d12d..9ba7604d70 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 class QuantileSqlAggregator implements SqlAggregator
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 86e1ec8a73..86aaf55c68 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 @@ public class ArrayConcatSqlAggregator implements
SqlAggregator
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 fe191ac96b..ec914dac7f 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 @@ public class ArraySqlAggregator implements SqlAggregator
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 85a3ef8d1d..6efc8846e9 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 @@ public class EarliestLatestAnySqlAggregator implements
SqlAggregator
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 9d9a5e9bf6..ef653d7003 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 @@ public class EarliestLatestBySqlAggregator implements
SqlAggregator
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 acdd28c6e3..53d7fc4cf7 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 @@ public class StringSqlAggregator implements SqlAggregator
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 @@ public class StringSqlAggregator implements SqlAggregator
),
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 9ec338ebfa..9e1928477d 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 8f865d96e6..3a0c47118d 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 c2d78b306a..02f56ffdaf 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 51c78b85ee..40f935e8e0 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 0ee93e8f69..0c9a36a09f 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 cf7261d48c..f8fada8be3 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 b758c2a897..8e5e851ea0 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 cda69526f7..fbf4f654d5 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 b6306aa171..73df2daa46 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 db84d9df10..bb08a55d89 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 7cecfd2288..3dfd598431 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 0822e15750..94b90ed9af 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 2ecee46c02..254eb9885f 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 6a0b24db19..d64ca9b192 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 class MultiValueStringOperatorConversions
.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 class MultiValueStringOperatorConversions
.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 class MultiValueStringOperatorConversions
.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 class MultiValueStringOperatorConversions
.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 class MultiValueStringOperatorConversions
.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 class MultiValueStringOperatorConversions
.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 class MultiValueStringOperatorConversions
.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 class MultiValueStringOperatorConversions
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 class MultiValueStringOperatorConversions
.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 class MultiValueStringOperatorConversions
.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 class MultiValueStringOperatorConversions
.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 872af4bec7..76640bcf80 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 class NestedDataOperatorConversions
.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 @@ public class NestedDataOperatorConversions
return OperatorConversions.operatorBuilder(functionName)
.operandTypeChecker(
OperandTypes.sequence(
- "(expr,path)",
+ "'" + functionName + "(expr, path)'",
OperandTypes.family(SqlTypeFamily.ANY),
OperandTypes.family(SqlTypeFamily.STRING)
)
@@ -558,7 +558,7 @@ public class NestedDataOperatorConversions
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 class NestedDataOperatorConversions
.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 087aada4a2..35a01a7edc 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 5201d1e8e6..b99043e5fc 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 + "(<TIMESTAMP>, <LITERAL ISO8601 INTERVAL>)",
+ "'" + NAME + "(<TIMESTAMP>, <LITERAL ISO8601 INTERVAL>)'",
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 54036f705a..bfe8701161 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 class CalciteQueryTest extends BaseCalciteQueryTest
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(<TIMESTAMP(3)>, <VARCHAR>)'. "
- + "Supported form(s): TIME_IN_INTERVAL(<TIMESTAMP>, <LITERAL
ISO8601 INTERVAL>)")));
+ + "Supported form(s): 'TIME_IN_INTERVAL(<TIMESTAMP>, <LITERAL
ISO8601 INTERVAL>)'")));
}
);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]