zstan commented on code in PR #13464:
URL: https://github.com/apache/ignite/pull/13464#discussion_r3788741335


##########
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:
   let simplify these tests a bit, plz append "assumeNoTransactions();"
   
       /** */
       private void assumeNoTransactions() {
           assumeTrue("Test use queries that doesn't touch any data. Skip for 
tx modes", sqlTxMode == SqlTransactionMode.NONE);
       }



-- 
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]

Reply via email to