tkalkirill commented on code in PR #13464:
URL: https://github.com/apache/ignite/pull/13464#discussion_r3794517913
##########
modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/integration/LimitOffsetIntegrationTest.java:
##########
@@ -199,6 +207,132 @@ public void testOffsetOutOfRange() throws Exception {
assertQuery("SELECT (SELECT id FROM TEST_PART ORDER BY id LIMIT 1
OFFSET 10)").returns(NULL_RESULT).check();
}
+ /** */
+ @Test
+ public void testInvalidFetchExpression() {
+ BigDecimal moreThanMaxLong = moreThanMaxLong();
+
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST (" +
moreThanMaxLong + ") ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST (" +
moreThanMaxLong + " + 1) ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST (1 + " +
moreThanMaxLong + ") ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST (-2)
ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST (2 - 3)
ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST (1 + 2 -
4) ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST (-1.5)
ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST ('abc')
ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST
(SUBSTRING('abc', 1, 1)) ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST
(CAST(NULL AS INTEGER)) ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST
(NULLIF(1, 1)) ROWS ONLY",
+ ILLEGAL_FETCH_VAL_ERR_MSG);
+
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST (id)
ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST (id + 1)
ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST
(ABS(id)) ROWS ONLY", ILLEGAL_FETCH_VAL_ERR_MSG);
+
+ assertThrowsSqlException("SELECT * FROM TEST_REPL FETCH FIRST SQRT(4)
ROWS ONLY", ENCOUNTERED_ERR_MSG);
+ }
+
+ /** */
+ @Test
+ public void testFetchExpression() throws Exception {
Review Comment:
I tried it locally and didn't see any reduction in test execution.
I'll leave it as is for now; I might improve this later with a separate task.
--
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]