tkalkirill commented on code in PR #13311:
URL: https://github.com/apache/ignite/pull/13311#discussion_r3718909991
##########
modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/LogicalRelImplementor.java:
##########
@@ -1050,4 +1054,33 @@ private ScanStorageNode<Row> createStorageScan(
otherColMapping
);
}
+
+ /** */
+ private long validateAndGetFetchOffsetParams(RexNode node, String op) {
+ Supplier<Object> scalar = expressionFactory.execute(node);
+ Object param = scalar.get();
+
+ if (!(param instanceof Number)) {
+ String actual = param == null ? "null" :
param.getClass().getSimpleName();
+ throw new
IgniteSQLException(IgniteResource.INSTANCE.incorrectDynamicParameterType("BIGINT",
actual).str(),
Review Comment:
The parameter contract is inconsistent. The validation accepts any `Number`,
including fractional `Double` and `BigDecimal` values, and converts them to
`long`, while the error message reports that `BIGINT` is required and the
validated parameter type is set to `DECIMAL`. Define one supported SQL type and
make the metadata, validation rules, and error messages consistent with it.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]