You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by ro...@apache.org on 2022/12/05 15:24:58 UTC
[pinot] branch master updated: [multistage][testing] Basic math func test and some more between test (#9850)
This is an automated email from the ASF dual-hosted git repository.
rongr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new d5211a1439 [multistage][testing] Basic math func test and some more between test (#9850)
d5211a1439 is described below
commit d5211a1439cf8a2cd1043df1535940c9e9daa7f2
Author: Yao Liu <ya...@startree.ai>
AuthorDate: Mon Dec 5 07:24:50 2022 -0800
[multistage][testing] Basic math func test and some more between test (#9850)
---
.../pinot/query/runtime/QueryRunnerTestBase.java | 23 +-
.../src/test/resources/queries/Comparisons.json | 42 +-
.../src/test/resources/queries/MathFuncs.json | 439 +++++++++++++++++++++
3 files changed, 493 insertions(+), 11 deletions(-)
diff --git a/pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/QueryRunnerTestBase.java b/pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/QueryRunnerTestBase.java
index 8a9286aa84..a0a5cedf9d 100644
--- a/pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/QueryRunnerTestBase.java
+++ b/pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/QueryRunnerTestBase.java
@@ -22,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableMap;
+import com.google.common.math.DoubleMath;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -59,10 +60,10 @@ import org.apache.pinot.spi.utils.StringUtil;
import org.testng.Assert;
-
public abstract class QueryRunnerTestBase extends QueryTestSet {
- protected static final Random RANDOM_REQUEST_ID_GEN = new Random();
+ protected static final double DOUBLE_CMP_EPSILON = 0.0001d;
+ protected static final Random RANDOM_REQUEST_ID_GEN = new Random();
protected QueryEnvironment _queryEnvironment;
protected String _reducerHostname;
protected int _reducerGrpcPort;
@@ -84,8 +85,8 @@ public abstract class QueryRunnerTestBase extends QueryTestSet {
MailboxReceiveNode reduceNode = (MailboxReceiveNode) queryPlan.getQueryStageMap().get(stageId);
mailboxReceiveOperator = QueryDispatcher.createReduceStageOperator(_mailboxService,
queryPlan.getStageMetadataMap().get(reduceNode.getSenderStageId()).getServerInstances(),
- Long.parseLong(requestMetadataMap.get(QueryConfig.KEY_OF_BROKER_REQUEST_ID)),
- reduceNode.getSenderStageId(), reduceNode.getDataSchema(), "localhost", _reducerGrpcPort,
+ Long.parseLong(requestMetadataMap.get(QueryConfig.KEY_OF_BROKER_REQUEST_ID)), reduceNode.getSenderStageId(),
+ reduceNode.getDataSchema(), "localhost", _reducerGrpcPort,
Long.parseLong(requestMetadataMap.get(QueryConfig.KEY_OF_BROKER_REQUEST_TIMEOUT_MS)));
} else {
for (ServerInstance serverInstance : queryPlan.getStageMetadataMap().get(stageId).getServerInstances()) {
@@ -96,8 +97,8 @@ public abstract class QueryRunnerTestBase extends QueryTestSet {
}
}
Preconditions.checkNotNull(mailboxReceiveOperator);
- return QueryDispatcher.toResultTable(QueryDispatcher.reduceMailboxReceive(mailboxReceiveOperator,
- CommonConstants.Broker.DEFAULT_BROKER_TIMEOUT_MS),
+ return QueryDispatcher.toResultTable(
+ QueryDispatcher.reduceMailboxReceive(mailboxReceiveOperator, CommonConstants.Broker.DEFAULT_BROKER_TIMEOUT_MS),
queryPlan.getQueryResultFields(), queryPlan.getQueryStageMap().get(0).getDataSchema()).getRows();
}
@@ -137,8 +138,14 @@ public abstract class QueryRunnerTestBase extends QueryTestSet {
} else if (l instanceof Long) {
return Long.compare((Long) l, ((Number) r).longValue());
} else if (l instanceof Float) {
+ if (DoubleMath.fuzzyEquals((Float) l, ((Number) r).floatValue(), DOUBLE_CMP_EPSILON)) {
+ return 0;
+ }
return Float.compare((Float) l, ((Number) r).floatValue());
} else if (l instanceof Double) {
+ if (DoubleMath.fuzzyEquals((Double) l, ((Number) r).doubleValue(), DOUBLE_CMP_EPSILON)) {
+ return 0;
+ }
return Double.compare((Double) l, ((Number) r).doubleValue());
} else if (l instanceof String) {
return ((String) l).compareTo((String) r);
@@ -178,8 +185,8 @@ public abstract class QueryRunnerTestBase extends QueryTestSet {
Arrays.toString(resultRow)));
for (int j = 0; j < resultRow.length; j++) {
Assert.assertEquals(valueComp.compare(resultRow[j], expectedRow[j]), 0,
- "Not match at (" + i + "," + j + ")! Expected: " + Arrays.toString(expectedRow)
- + " Actual: " + Arrays.toString(resultRow));
+ "Not match at (" + i + "," + j + ")! Expected: " + Arrays.toString(expectedRow) + " Actual: "
+ + Arrays.toString(resultRow));
}
}
}
diff --git a/pinot-query-runtime/src/test/resources/queries/Comparisons.json b/pinot-query-runtime/src/test/resources/queries/Comparisons.json
index d87ed6a634..05368cf014 100644
--- a/pinot-query-runtime/src/test/resources/queries/Comparisons.json
+++ b/pinot-query-runtime/src/test/resources/queries/Comparisons.json
@@ -390,8 +390,18 @@
"queries": [
{ "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
{ "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
+ { "sql": "SELECT val BETWEEN 2 AND 3 FROM {tbl}" },
+ { "sql": "SELECT val BETWEEN 3 AND 2 FROM {tbl}" },
+ { "sql": "SELECT 3 BETWEEN small AND big FROM {tbl}" },
{ "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
{ "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" },
+ {
+ "ignored": true,
+ "sql": "SELECT val NOT BETWEEN 2 AND 3 FROM {tbl}",
+ "comment": "Somehow it failed with Range is not implemented yet"
+ },
+ { "sql": "SELECT val NOT BETWEEN 3 AND 2 FROM {tbl}" },
+ { "sql": "SELECT 3 NOT BETWEEN small AND big FROM {tbl}" },
{
"ignored": true,
"comment": "SYMMETRIC not supported",
@@ -443,6 +453,7 @@
},
"queries": [
{ "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
+ { "sql": "SELECT val BETWEEN 0.0 AND 3.0 FROM {tbl}" },
{ "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
{ "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
{ "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" }
@@ -467,7 +478,8 @@
{ "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
{ "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
{ "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
- { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" }
+ { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" },
+ { "sql": "SELECT val BETWEEN 0.0 AND 3.0 FROM {tbl}" }
]
},
"between_numerics": {
@@ -490,7 +502,8 @@
{ "sql": "SELECT val BETWEEN small AND big FROM {tbl}" },
{ "sql": "SELECT val BETWEEN big AND small FROM {tbl}" },
{ "sql": "SELECT val NOT BETWEEN small AND big FROM {tbl}" },
- { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" }
+ { "sql": "SELECT val NOT BETWEEN big AND small FROM {tbl}" },
+ { "sql": "SELECT val BETWEEN 0.0 AND 3.0 FROM {tbl}" }
]
},
"between_different_types": {
@@ -510,7 +523,30 @@
"queries": [
{ "sql": "SELECT a BETWEEN b AND c FROM {tbl}" },
{ "sql": "SELECT b BETWEEN c AND a FROM {tbl}" },
- { "sql": "SELECT c BETWEEN a AND b FROM {tbl}" }
+ { "sql": "SELECT c BETWEEN a AND b FROM {tbl}" },
+ { "sql": "SELECT c BETWEEN 1 AND 3.0 FROM {tbl}" }
+ ]
+ },
+ "between_strings": {
+ "psql": "9.2",
+ "tables": {
+ "tbl": {
+ "schema": [
+ {"name": "a", "type": "STRING"},
+ {"name": "b", "type": "STRING"},
+ {"name": "c", "type": "STRING"}
+ ],
+ "inputs": [
+ ["aa", "bb", "cc"], ["ee", "ff", "cc"], ["b", "d", "cc"]
+ ]
+ }
+ },
+ "queries": [
+ { "sql": "SELECT a BETWEEN b AND c FROM {tbl}" },
+ { "sql": "SELECT b BETWEEN c AND a FROM {tbl}" },
+ { "sql": "SELECT c BETWEEN a AND b FROM {tbl}" },
+ { "sql": "SELECT a BETWEEN 'a' AND 'c' FROM {tbl}" },
+ { "sql" : "SELECT 'c' BETWEEN 'a' AND 'b' FROM {tbl}"}
]
}
}
diff --git a/pinot-query-runtime/src/test/resources/queries/MathFuncs.json b/pinot-query-runtime/src/test/resources/queries/MathFuncs.json
new file mode 100644
index 0000000000..1a9a043c0d
--- /dev/null
+++ b/pinot-query-runtime/src/test/resources/queries/MathFuncs.json
@@ -0,0 +1,439 @@
+{
+ "addition": {
+ "tables": {
+ "numTbl": {
+ "schema": [
+ {"name": "intCol", "type": "INT"},
+ {"name": "longCol", "type": "LONG"},
+ {"name": "doubleCol", "type": "DOUBLE"},
+ {"name": "floatCol", "type": "FLOAT"}
+ ],
+ "inputs": [
+ [0, 0, 0.1, 3.2],
+ [123, 321, 4.2, 3.0],
+ [-456, -2, 1.1, 7.7],
+ [123, -456, 3.6, 9.1]
+ ]
+ }
+ },
+ "queries": [
+ {
+ "description": "test addition on integer columns",
+ "sql": "SELECT intCol + longCol FROM {numTbl}"
+ },
+ {
+ "description": "test addition on int literal with columns",
+ "sql": "SELECT intCol + 10 FROM {numTbl}"
+ },
+ {
+ "description": "test addition on double literal with columns",
+ "sql": "SELECT intCol + 1.2 FROM {numTbl}"
+ },
+ {
+ "description": "test addition on literals",
+ "sql": "SELECT 3 + 2.4 FROM {numTbl}"
+ },
+ {
+ "description": "test addition on literals",
+ "sql": "SELECT 3 + 2 FROM {numTbl}"
+ },
+ {
+ "description": "test addition on floating point",
+ "sql": "SELECT doubleCol + floatCol FROM {numTbl}"
+ },
+ {
+ "description": "test addition on floating point with literal",
+ "sql": "SELECT doubleCol + 2 FROM {numTbl}"
+ },
+ {
+ "description": "test addition on zero",
+ "sql": "SELECT doubleCol + 0 FROM {numTbl}"
+ },
+ {
+ "description": "test addition on doubleCol with intCol",
+ "sql": "SELECT doubleCol + intCol FROM {numTbl}"
+ }
+ ]
+ },
+ "subtraction": {
+ "tables": {
+ "numTbl": {
+ "schema": [
+ {"name": "intCol", "type": "INT"},
+ {"name": "longCol", "type": "LONG"},
+ {"name": "doubleCol", "type": "DOUBLE"},
+ {"name": "floatCol", "type": "FLOAT"}
+ ],
+ "inputs": [
+ [0, 0, 0.1, 3.2],
+ [123, 321, 4.2, 3.0],
+ [-456, -2, 1.1, 7.7],
+ [123, -456, 3.6, 9.1]
+ ]
+ }
+ },
+ "queries": [
+ {
+ "description": "test subtraction on integer columns",
+ "sql": "SELECT intCol - longCol FROM {numTbl}"
+ },
+ {
+ "description": "test subtraction on int literal with columns",
+ "sql": "SELECT intCol - 10 FROM {numTbl}"
+ },
+ {
+ "description": "test subtraction on double literal with columns",
+ "sql": "SELECT intCol - 1.2 FROM {numTbl}"
+ },
+ {
+ "description": "test subtraction on literals",
+ "sql": "SELECT 3 - 5 FROM {numTbl}"
+ },
+ {
+ "description": "test subtraction on literals",
+ "sql": "SELECT 3 - 2.4 FROM {numTbl}"
+ },
+ {
+ "description": "test subtraction on floating point",
+ "sql": "SELECT doubleCol - floatCol FROM {numTbl}"
+ },
+ {
+ "description": "test subtraction on floating point with literal",
+ "sql": "SELECT doubleCol - 2 FROM {numTbl}"
+ },
+ {
+ "description": "test subtraction on zero",
+ "sql": "SELECT doubleCol - 0 FROM {numTbl}"
+ },
+ {
+ "description": "test subtraction on doubleCol with intCol",
+ "sql": "SELECT doubleCol - intCol FROM {numTbl}"
+ }
+ ]
+ },
+ "multiply": {
+ "tables": {
+ "numTbl": {
+ "schema": [
+ {"name": "intCol", "type": "INT"},
+ {"name": "longCol", "type": "LONG"},
+ {"name": "doubleCol", "type": "DOUBLE"},
+ {"name": "floatCol", "type": "FLOAT"}
+ ],
+ "inputs": [
+ [0, 0, 0.1, 3.2],
+ [123, 321, 4.2, 3.0],
+ [-456, -2, 1.1, 7.7],
+ [123, -456, 3.6, 9.1]
+ ]
+ }
+ },
+ "queries": [
+ {
+ "description": "test multiply on integer columns",
+ "sql": "SELECT intCol * longCol FROM {numTbl}"
+ },
+ {
+ "description": "test multiply on int literal with columns",
+ "sql": "SELECT intCol * 10 FROM {numTbl}"
+ },
+ {
+ "description": "test multiply on double literal with columns",
+ "sql": "SELECT intCol * 1.2 FROM {numTbl}"
+ },
+ {
+ "description": "test multiply on literals",
+ "sql": "SELECT 3 * 5 FROM {numTbl}"
+ },
+ {
+ "description": "test multiply on literals",
+ "sql": "SELECT 3 * 2.4 FROM {numTbl}"
+ },
+ {
+ "description": "test multiply on floating point",
+ "sql": "SELECT doubleCol * floatCol FROM {numTbl}"
+ },
+ {
+ "description": "test multiply on floating point with literal",
+ "sql": "SELECT doubleCol * 2 FROM {numTbl}"
+ },
+ {
+ "description": "test multiply on zero",
+ "sql": "SELECT doubleCol * 0 FROM {numTbl}"
+ },
+ {
+ "description": "test multiply on doubleCol with intCol",
+ "sql": "SELECT doubleCol * intCol FROM {numTbl}"
+ },
+ {
+ "description": "test multiply on overflow",
+ "sql": "SELECT intCol * 1073741824 FROM {numTbl}"
+ }
+ ]
+ },
+ "division": {
+ "tables": {
+ "numTbl": {
+ "schema": [
+ {"name": "intCol", "type": "INT"},
+ {"name": "longCol", "type": "LONG"},
+ {"name": "doubleCol", "type": "DOUBLE"},
+ {"name": "floatCol", "type": "FLOAT"}
+ ],
+ "inputs": [
+ [0, 3, 0.1, 3.2],
+ [123, 321, 4.2, 3.0],
+ [-456, -2, 1.1, 7.7],
+ [123, -456, 3.6, 9.1]
+ ]
+ }
+ },
+ "queries": [
+ {
+ "ignored": true,
+ "comment": "should round on the integer but we return a floating point",
+ "description": "test divide on integer columns",
+ "sql": "SELECT intCol / longCol FROM {numTbl}"
+ },
+ {
+ "ignored": true,
+ "comment": "should round on the integer but we return a floating point",
+ "description": "test divide on int literal with columns",
+ "sql": "SELECT intCol / 10 FROM {numTbl}"
+ },
+ {
+ "description": "test divide on double literal with columns",
+ "sql": "SELECT intCol / 1.2 FROM {numTbl}"
+ },
+ {
+ "ignored": true,
+ "comment": "should round on the integer but we return a floating point",
+ "description": "test divide on literals",
+ "sql": "SELECT 3 / 5 FROM {numTbl}"
+ },
+ {
+ "description": "test divide on literals",
+ "sql": "SELECT 3 / 2.4 FROM {numTbl}"
+ },
+ {
+ "description": "test divide on floating point",
+ "sql": "SELECT doubleCol / floatCol FROM {numTbl}"
+ },
+ {
+ "description": "test divide on floating point with literal",
+ "sql": "SELECT doubleCol / 2 FROM {numTbl}"
+ },
+ {
+ "ignored": true,
+ "comment": "should return infinity but we throw an exception",
+ "description": "test divide by zero",
+ "sql": "SELECT doubleCol / 0 FROM {numTbl}"
+ },
+ {
+ "description": "test divide on doubleCol with intCol",
+ "sql": "SELECT intCol / doubleCol FROM {numTbl}"
+ },
+ {
+ "ignored": true,
+ "description": "test divide on overflow",
+ "comment": "somehow there is value diff",
+ "sql": "SELECT floatCol / 1e-15 FROM {numTbl}"
+ }
+ ]
+ },
+ "mod": {
+ "tables": {
+ "numTbl": {
+ "schema": [
+ {"name": "intCol", "type": "INT"},
+ {"name": "longCol", "type": "LONG"},
+ {"name": "doubleCol", "type": "DOUBLE"},
+ {"name": "floatCol", "type": "FLOAT"}
+ ],
+ "inputs": [
+ [0, 3, 0.1, 3.2],
+ [123, 321, 4.2, 3.0],
+ [-456, -2, 1.1, 7.7],
+ [123, -456, 3.6, 9.1]
+ ]
+ }
+ },
+ "queries": [
+ {
+ "ignored": true,
+ "comment": "we are returning -0.0 for some reason",
+ "description": "test mod on integer columns",
+ "sql": "SELECT intCol % longCol FROM {numTbl}"
+ },
+ {
+ "description": "test mod on int literal with columns",
+ "sql": "SELECT intCol % 10 FROM {numTbl}"
+ },
+ {
+ "ignored": true,
+ "comment": "should return 0 for 0 value but we are not",
+ "description": "test mod on floating point literal with columns",
+ "sql": "SELECT intCol % 1.2 FROM {numTbl}"
+ },
+ {
+ "description": "test mod on literals",
+ "sql": "SELECT 3 % 5 FROM {numTbl}"
+ },
+ {
+ "description": "test mod on literals",
+ "sql": "SELECT 3 % 2.4 FROM {numTbl}"
+ },
+ {
+ "ignored": true,
+ "comment": "Conversion to relational algebra failed to preserve datatypes:",
+ "description": "test mode on floating point",
+ "sql": "SELECT doubleCol % floatCol FROM {numTbl}"
+ },
+ {
+ "ignored": true,
+ "description": "test divide on floating point with literal",
+ "comment": "Conversion mode relational algebra failed to preserve datatypes:",
+ "sql": "SELECT doubleCol % 2 FROM {numTbl}"
+ },
+ {
+ "ignored": true,
+ "comment": "Conversion to relational algebra failed to preserve datatypes:",
+ "description": "test mode by zero",
+ "expectedException": ".*Division by zero.*",
+ "sql": "SELECT doubleCol % 0 FROM {numTbl}"
+ },
+ {
+ "ignored": true,
+ "comment": "Conversion to relational algebra failed to preserve datatypes:",
+ "description": "test mod on doubleCol with intCol",
+ "sql": "SELECT doubleCol % intCol FROM {numTbl}"
+ }
+ ]
+ },
+ "exp": {
+ "tables": {
+ "numTbl": {
+ "schema": [
+ {"name": "intCol", "type": "INT"},
+ {"name": "longCol", "type": "LONG"},
+ {"name": "doubleCol", "type": "DOUBLE"},
+ {"name": "floatCol", "type": "FLOAT"}
+ ],
+ "inputs": [
+ [0, 3, 0.1, 3.2],
+ [123, 321, 4.2, 3.0],
+ [-456, -2, 1.1, 7.7],
+ [123, -456, 3.6, 9.1]
+ ]
+ }
+ },
+ "queries": [
+ {
+ "description": "test exp on integer columns",
+ "sql": "SELECT exp(intCol) FROM {numTbl}"
+ },
+ {
+ "description": "test exp on long columns",
+ "sql": "SELECT exp(longCol) FROM {numTbl}"
+ },
+ {
+ "description": "test exp on double columns",
+ "sql": "SELECT exp(doubleCol) FROM {numTbl}"
+ },
+ {
+ "description": "test exp on float columns",
+ "sql": "SELECT exp(floatCol) FROM {numTbl}"
+ },
+ {
+ "ignored": true,
+ "comment": "Argument cannot be literal for transform function: exp:",
+ "description": "test exp on literal",
+ "sql": "SELECT exp(2.0) FROM {numTbl}"
+ }
+ ]
+ },
+ "floor": {
+ "tables": {
+ "numTbl": {
+ "schema": [
+ {"name": "intCol", "type": "INT"},
+ {"name": "longCol", "type": "LONG"},
+ {"name": "doubleCol", "type": "DOUBLE"},
+ {"name": "floatCol", "type": "FLOAT"}
+ ],
+ "inputs": [
+ [0, 3, 0.1, 3.2],
+ [123, 321, 4.2, 3.0],
+ [-456, -2, 1.1, 7.7],
+ [123, -456, 3.6, 9.1]
+ ]
+ }
+ },
+ "queries": [
+ {
+ "description": "test floor on integer columns",
+ "sql": "SELECT floor(intCol) FROM {numTbl}"
+ },
+ {
+ "description": "test floor on long columns",
+ "sql": "SELECT floor(longCol) FROM {numTbl}"
+ },
+ {
+ "description": "test floor on double columns",
+ "sql": "SELECT floor(doubleCol) FROM {numTbl}"
+ },
+ {
+ "description": "test floor on float columns",
+ "sql": "SELECT floor(floatCol) FROM {numTbl}"
+ },
+ {
+ "ignored": true,
+ "comment": "Caught exception while initializing transform function: floor",
+ "description": "test exp on literal",
+ "sql": "SELECT floor(2.0) FROM {numTbl}"
+ }
+ ]
+ },
+ "ceil": {
+ "tables": {
+ "numTbl": {
+ "schema": [
+ {"name": "intCol", "type": "INT"},
+ {"name": "longCol", "type": "LONG"},
+ {"name": "doubleCol", "type": "DOUBLE"},
+ {"name": "floatCol", "type": "FLOAT"}
+ ],
+ "inputs": [
+ [0, 3, 0.1, 3.2],
+ [123, 321, 4.2, 3.0],
+ [-456, -2, 1.1, 7.7],
+ [123, -456, 3.6, 9.1]
+ ]
+ }
+ },
+ "queries": [
+ {
+ "description": "test ceil on integer columns",
+ "sql": "SELECT ceil(intCol) FROM {numTbl}"
+ },
+ {
+ "description": "test ceil on long columns",
+ "sql": "SELECT ceil(longCol) FROM {numTbl}"
+ },
+ {
+ "description": "test ceil on double columns",
+ "sql": "SELECT ceil(doubleCol) FROM {numTbl}"
+ },
+ {
+ "description": "test ceil on float columns",
+ "sql": "SELECT ceil(floatCol) FROM {numTbl}"
+ },
+ {
+ "ignored": true,
+ "comment": "Caught exception while initializing transform function: ceil",
+ "description": "test exp on literal",
+ "sql": "SELECT ceil(2.0) FROM {numTbl}"
+ }
+ ]
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org