You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by am...@apache.org on 2022/10/11 11:35:23 UTC

[ignite] branch ignite-17870 created (now 8b48cd33090)

This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-17870
in repository https://gitbox.apache.org/repos/asf/ignite.git


      at 8b48cd33090 Fix multistatement query execution.

This branch includes the following new commits:

     new a38999a03bc Add tests
     new 8b48cd33090 Fix multistatement query execution.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[ignite] 02/02: Fix multistatement query execution.

Posted by am...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-17870
in repository https://gitbox.apache.org/repos/asf/ignite.git

commit 8b48cd3309078eb7e3de311680a641cbf5921b66
Author: amashenkov <an...@gmail.com>
AuthorDate: Tue Oct 11 14:35:09 2022 +0300

    Fix multistatement query execution.
---
 .../apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java   | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 2463cba9677..dbf55a4aef2 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@ -1032,6 +1032,9 @@ public class IgniteH2Indexing implements GridQueryIndexing {
 
                         assert cmd != null;
 
+                        if (cmd.noOp() && remainingQry == null && newQryDesc.sql().isEmpty())
+                            continue;
+
                         FieldsQueryCursor<List<?>> cmdRes = executeCommand(
                             newQryDesc,
                             newQryParams,


[ignite] 01/02: Add tests

Posted by am...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a commit to branch ignite-17870
in repository https://gitbox.apache.org/repos/asf/ignite.git

commit a38999a03bcf7ac8cc2d0afe82c34cf2d4714ae7
Author: amashenkov <an...@gmail.com>
AuthorDate: Tue Oct 11 14:34:34 2022 +0300

    Add tests
---
 .../sql/SqlParserMultiStatementSelfTest.java       | 35 ++++++++++++++++++++++
 .../query/MultipleStatementsSqlQuerySelfTest.java  |  8 +++--
 2 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/modules/core/src/test/java/org/apache/ignite/internal/sql/SqlParserMultiStatementSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/sql/SqlParserMultiStatementSelfTest.java
index b511cdc188d..4207990ae13 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/sql/SqlParserMultiStatementSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/sql/SqlParserMultiStatementSelfTest.java
@@ -63,6 +63,41 @@ public class SqlParserMultiStatementSelfTest extends SqlParserAbstractSelfTest {
      */
     @Test
     public void testComments() {
+        String sql = " -- Creating new index \n" +
+            " CREATE INDEX IDX1 on TABLE1(id); \n" +
+            " -- Creating one more index \n" +
+            " CREATE INDEX IDX2 on TABLE2(id); \n" +
+            " -- All done.";
+
+        SqlParser parser = new SqlParser("schema", sql);
+
+        // Haven't parse anything yet.
+        assertEquals(null, parser.lastCommandSql());
+        assertEquals(sql, parser.remainingSql());
+
+        SqlCommand cmd = parser.nextCommand();
+
+        assertTrue(cmd instanceof SqlCreateIndexCommand);
+        assertEquals("CREATE INDEX IDX1 on TABLE1(id)", parser.lastCommandSql());
+        assertEquals(" \n -- Creating one more index \n" +
+            " CREATE INDEX IDX2 on TABLE2(id); \n" +
+            " -- All done.", parser.remainingSql());
+
+        cmd = parser.nextCommand();
+
+        assertTrue(cmd instanceof SqlCreateIndexCommand);
+        assertEquals("CREATE INDEX IDX2 on TABLE2(id)", parser.lastCommandSql());
+        assertEquals(" \n -- All done.", parser.remainingSql());
+
+        cmd = parser.nextCommand();
+
+        assertNull(cmd);
+        assertEquals(null, parser.lastCommandSql());
+        assertEquals(null, parser.remainingSql());
+    }
+
+    @Test
+    public void testEmptyTransaction() {
         String beginSql = "BEGIN  ;" + "  \n";
         String noteSql = "  -- Let's start an empty transaction; $1M idea!\n";
         String commitSql = "COMMIT;" + ";;";
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/MultipleStatementsSqlQuerySelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/MultipleStatementsSqlQuerySelfTest.java
index b3006120398..90381aa01a7 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/MultipleStatementsSqlQuerySelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/MultipleStatementsSqlQuerySelfTest.java
@@ -54,11 +54,15 @@ public class MultipleStatementsSqlQuerySelfTest extends AbstractIndexingCommonTe
         GridQueryProcessor qryProc = node.context().query();
 
         SqlFieldsQuery qry = new SqlFieldsQuery(
+            "-- Creating table \n" +
             "create table test(ID int primary key, NAME varchar(20)); " +
+            " -- Adding data \n" +
                 "insert into test (ID, NAME) values (1, 'name_1');" +
                 "insert into test (ID, NAME) values (2, 'name_2'), (3, 'name_3');" +
-                "select * from test;")
-            .setSchema("PUBLIC");
+            " -- Query data \n" +
+            "select * from test;" +
+            " -- All done."
+        ).setSchema("PUBLIC");
 
         List<FieldsQueryCursor<List<?>>> res = qryProc.querySqlFields(qry, true, false);