IGNITE-5279 Name case sensitivity tests for CREATE INDEX and CREATE TABLE.

Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/eec0fcf3
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/eec0fcf3
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/eec0fcf3

Branch: refs/heads/ignite-2.1.2-exchange
Commit: eec0fcf313c6631b44098e203365e7f5cfd34d54
Parents: d2b4759
Author: Alexander Paschenko <[email protected]>
Authored: Tue Jun 27 17:53:55 2017 +0300
Committer: sboikov <[email protected]>
Committed: Tue Jun 27 17:53:55 2017 +0300

----------------------------------------------------------------------
 .../DynamicIndexAbstractBasicSelfTest.java      |  81 ++++++++-
 .../cache/index/H2DynamicTableSelfTest.java     | 182 +++++++++++++++----
 2 files changed, 222 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/eec0fcf3/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractBasicSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractBasicSelfTest.java
 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractBasicSelfTest.java
index 0b6b0ca..1c6ced1 100644
--- 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractBasicSelfTest.java
+++ 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractBasicSelfTest.java
@@ -17,6 +17,11 @@
 
 package org.apache.ignite.internal.processors.cache.index;
 
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.Callable;
+import javax.cache.CacheException;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.Ignition;
@@ -32,11 +37,7 @@ import 
org.apache.ignite.internal.processors.cache.query.IgniteQueryErrorCode;
 import org.apache.ignite.internal.processors.query.IgniteSQLException;
 import 
org.apache.ignite.internal.processors.query.schema.SchemaOperationException;
 import org.apache.ignite.internal.util.typedef.F;
-
-import javax.cache.CacheException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
+import org.apache.ignite.testframework.GridTestUtils;
 
 import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
 import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
@@ -912,6 +913,76 @@ public abstract class DynamicIndexAbstractBasicSelfTest 
extends DynamicIndexAbst
     }
 
     /**
+     * Test behavior depending on index name case sensitivity.
+     */
+    public void testIndexNameCaseSensitivity() throws Exception {
+        doTestIndexNameCaseSensitivity("myIdx", false);
+
+        doTestIndexNameCaseSensitivity("myIdx", true);
+    }
+
+    /**
+     * Perform a check on given index name considering case sensitivity.
+     * @param idxName Index name to check.
+     * @param sensitive Whether index should be created w/case sensitive name 
or not.
+     */
+    private void doTestIndexNameCaseSensitivity(String idxName, boolean 
sensitive) throws Exception {
+        String idxNameSql = (sensitive ? '"' + idxName + '"' : idxName);
+
+        // This one should always work.
+        assertIndexNameIsValid(idxNameSql, idxNameSql);
+
+        if (sensitive) {
+            assertIndexNameIsNotValid(idxNameSql, idxName.toUpperCase());
+
+            assertIndexNameIsNotValid(idxNameSql, idxName.toLowerCase());
+        }
+        else {
+            assertIndexNameIsValid(idxNameSql, '"' + idxName.toUpperCase() + 
'"');
+
+            assertIndexNameIsValid(idxNameSql, idxName.toUpperCase());
+
+            assertIndexNameIsValid(idxNameSql, idxName.toLowerCase());
+        }
+    }
+
+    /**
+     * Check that given variant of index name works for DDL context.
+     * @param idxNameToCreate Name of the index to use in {@code CREATE INDEX}.
+     * @param checkedIdxName Index name to use in actual check.
+     */
+    private void assertIndexNameIsValid(String idxNameToCreate, String 
checkedIdxName) throws Exception {
+        info("Checking index name variant for validity: " + checkedIdxName);
+
+        final QueryIndex idx = index(idxNameToCreate, field(FIELD_NAME_1));
+
+        dynamicIndexCreate(STATIC_CACHE_NAME, TBL_NAME, idx, true);
+
+        dynamicIndexDrop(STATIC_CACHE_NAME, checkedIdxName, false);
+    }
+
+    /**
+     * Check that given variant of index name works for DDL context.
+     * @param idxNameToCreate Name of the index to use in {@code CREATE INDEX}.
+     * @param checkedIdxName Index name to use in actual check.
+     */
+    private void assertIndexNameIsNotValid(String idxNameToCreate, final 
String checkedIdxName) throws Exception {
+        info("Checking index name variant for invalidity: " + checkedIdxName);
+
+        final QueryIndex idx = index(idxNameToCreate, field(FIELD_NAME_1));
+
+        dynamicIndexCreate(STATIC_CACHE_NAME, TBL_NAME, idx, true);
+
+        GridTestUtils.assertThrows(null, new Callable<Object>() {
+            @Override public Object call() throws Exception {
+                dynamicIndexDrop(STATIC_CACHE_NAME, checkedIdxName, false);
+
+                return null;
+            }
+        }, IgniteSQLException.class, "Index doesn't exist: " + 
checkedIdxName.toUpperCase());
+    }
+
+    /**
      * Get node which should be used to start operations.
      *
      * @return If failed.

http://git-wip-us.apache.org/repos/asf/ignite/blob/eec0fcf3/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicTableSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicTableSelfTest.java
 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicTableSelfTest.java
index ca1c937..5975b4e 100644
--- 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicTableSelfTest.java
+++ 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicTableSelfTest.java
@@ -53,6 +53,7 @@ import 
org.apache.ignite.internal.processors.query.h2.opt.GridH2Table;
 import 
org.apache.ignite.internal.processors.query.schema.SchemaOperationException;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.testframework.GridTestUtils;
+import org.h2.jdbc.JdbcSQLException;
 
 /**
  * Tests for CREATE/DROP TABLE.
@@ -94,8 +95,8 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
 
     /** {@inheritDoc} */
     @Override protected void afterTest() throws Exception {
-        executeDdl("DROP TABLE IF EXISTS PUBLIC.\"Person\"");
-        executeDdl("DROP TABLE IF EXISTS PUBLIC.\"City\"");
+        execute("DROP TABLE IF EXISTS PUBLIC.\"Person\"");
+        execute("DROP TABLE IF EXISTS PUBLIC.\"City\"");
 
         super.afterTest();
     }
@@ -162,6 +163,115 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
     }
 
     /**
+     * Test behavior depending on table name case sensitivity.
+     */
+    public void testTableNameCaseSensitivity() {
+        doTestTableNameCaseSensitivity("Person", false);
+
+        doTestTableNameCaseSensitivity("Person", true);
+    }
+
+    /**
+     * Perform a check on given table name considering case sensitivity.
+     * @param tblName Table name to check.
+     * @param sensitive Whether table should be created w/case sensitive name 
or not.
+     */
+    private void doTestTableNameCaseSensitivity(String tblName, boolean 
sensitive) {
+        String tblNameSql = (sensitive ? '"' + tblName + '"' : tblName);
+
+        // This one should always work.
+        assertTableNameIsValid(tblNameSql, tblNameSql);
+
+        if (sensitive) {
+            assertTableNameIsNotValid(tblNameSql, tblName.toUpperCase());
+
+            assertTableNameIsNotValid(tblNameSql, tblName.toLowerCase());
+        }
+        else {
+            assertTableNameIsValid(tblNameSql, '"' + tblName.toUpperCase() + 
'"');
+
+            assertTableNameIsValid(tblNameSql, tblName.toUpperCase());
+
+            assertTableNameIsValid(tblNameSql, tblName.toLowerCase());
+        }
+    }
+
+    /**
+     * Check that given variant of table name works for DML and DDL contexts, 
as well as selects.
+     * @param tblNameToCreate Name of the table to use in {@code CREATE TABLE}.
+     * @param checkedTblName Table name to use in actual checks.
+     */
+    private void assertTableNameIsValid(String tblNameToCreate, String 
checkedTblName) {
+        info("Checking table name variant for validity: " + checkedTblName);
+
+        execute("create table if not exists " + tblNameToCreate + " (id int 
primary key, name varchar)");
+
+        execute("MERGE INTO " + checkedTblName + " (id, name) values (1, 
'A')");
+
+        execute("SELECT * FROM " + checkedTblName);
+
+        execute("DROP TABLE " + checkedTblName);
+    }
+
+    /**
+     * Check that given variant of table name does not work for DML and DDL 
contexts, as well as selects.
+     * @param tblNameToCreate Name of the table to use in {@code CREATE TABLE}.
+     * @param checkedTblName Table name to use in actual checks.
+     */
+    private void assertTableNameIsNotValid(String tblNameToCreate, String 
checkedTblName) {
+        info("Checking table name variant for invalidity: " + checkedTblName);
+
+        execute("create table if not exists " + tblNameToCreate + " (id int 
primary key, name varchar)");
+
+        assertCommandThrowsTableNotFound(checkedTblName.toUpperCase(),
+            "MERGE INTO " + checkedTblName + " (id, name) values (1, 'A')");
+
+        assertCommandThrowsTableNotFound(checkedTblName.toUpperCase(), "SELECT 
* FROM " + checkedTblName);
+
+        assertDdlCommandThrowsTableNotFound(checkedTblName.toUpperCase(), 
"DROP TABLE " + checkedTblName);
+    }
+
+    /**
+     * Check that given (non DDL) command throws an exception as expected.
+     * @param checkedTblName Table name to expect in error message.
+     * @param cmd Command to execute.
+     */
+    @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
+    private void assertCommandThrowsTableNotFound(String checkedTblName, final 
String cmd) {
+        final Throwable e = GridTestUtils.assertThrowsWithCause(new 
Callable<Object>() {
+            @Override public Object call() throws Exception {
+                execute(cmd);
+
+                return null;
+            }
+        }, JdbcSQLException.class);
+
+        GridTestUtils.assertThrows(null, new Callable<Object>() {
+            @SuppressWarnings("ConstantConditions")
+            @Override public Object call() throws Exception {
+                throw (Exception)e.getCause();
+            }
+        }, JdbcSQLException.class, "Table \"" + checkedTblName + "\" not 
found");
+    }
+
+    /**
+     * Check that given DDL command throws an exception as expected.
+     * @param checkedTblName Table name to expect in error message.
+     * @param cmd Command to execute.
+     */
+    @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
+    private void assertDdlCommandThrowsTableNotFound(String checkedTblName, 
final String cmd) {
+        GridTestUtils.assertThrows(null, new Callable<Object>() {
+            @SuppressWarnings("ConstantConditions")
+            @Override public Object call() throws Exception {
+                execute(cmd);
+
+                return null;
+            }
+        }, IgniteSQLException.class, "Table doesn't exist: " + checkedTblName);
+    }
+
+    /**
      * Test that {@code CREATE TABLE} with given template cache name actually 
creates new cache,
      * H2 table and type descriptor on all nodes, optionally with cache type 
check.
      * @param tplCacheName Template cache name.
@@ -169,7 +279,7 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      * @param mode Expected cache mode, or {@code null} if no check is needed.
      */
     private void doTestCreateTable(String tplCacheName, String cacheGrp, 
CacheMode mode) {
-        executeDdl("CREATE TABLE \"Person\" (\"id\" int, \"city\" varchar," +
+        execute("CREATE TABLE \"Person\" (\"id\" int, \"city\" varchar," +
             " \"name\" varchar, \"surname\" varchar, \"age\" int, PRIMARY KEY 
(\"id\", \"city\")) WITH " +
             (F.isEmpty(tplCacheName) ? "" : "\"template=" + tplCacheName + 
"\",") + "\"backups=10,atomicity=atomic\"" +
             (F.isEmpty(cacheGrp) ? "" : ",\"cacheGroup=" + cacheGrp + '"'));
@@ -268,11 +378,11 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      * @throws Exception if failed.
      */
     public void testCreateTableIfNotExists() throws Exception {
-        executeDdl("CREATE TABLE \"Person\" (\"id\" int, \"city\" varchar," +
+        execute("CREATE TABLE \"Person\" (\"id\" int, \"city\" varchar," +
             " \"name\" varchar, \"surname\" varchar, \"age\" int, PRIMARY KEY 
(\"id\", \"city\")) WITH " +
             "\"template=cache\"");
 
-        executeDdl("CREATE TABLE IF NOT EXISTS \"Person\" (\"id\" int, 
\"city\" varchar," +
+        execute("CREATE TABLE IF NOT EXISTS \"Person\" (\"id\" int, \"city\" 
varchar," +
             " \"name\" varchar, \"surname\" varchar, \"age\" int, PRIMARY KEY 
(\"id\", \"city\")) WITH " +
             "\"template=cache\"");
     }
@@ -283,13 +393,13 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      */
     @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
     public void testCreateExistingTable() throws Exception {
-        executeDdl("CREATE TABLE \"Person\" (\"id\" int, \"city\" varchar," +
+        execute("CREATE TABLE \"Person\" (\"id\" int, \"city\" varchar," +
             " \"name\" varchar, \"surname\" varchar, \"age\" int, PRIMARY KEY 
(\"id\", \"city\")) WITH " +
             "\"template=cache\"");
 
         GridTestUtils.assertThrows(null, new Callable<Object>() {
             @Override public Object call() throws Exception {
-                executeDdl("CREATE TABLE \"Person\" (\"id\" int, \"city\" 
varchar" +
+                execute("CREATE TABLE \"Person\" (\"id\" int, \"city\" 
varchar" +
                     ", \"name\" varchar, \"surname\" varchar, \"age\" int, 
PRIMARY KEY (\"id\", \"city\")) WITH " +
                     "\"template=cache\"");
 
@@ -303,11 +413,11 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      * @throws Exception if failed.
      */
     public void testDropTable() throws Exception {
-        executeDdl("CREATE TABLE IF NOT EXISTS \"Person\" (\"id\" int, 
\"city\" varchar," +
+        execute("CREATE TABLE IF NOT EXISTS \"Person\" (\"id\" int, \"city\" 
varchar," +
             " \"name\" varchar, \"surname\" varchar, \"age\" int, PRIMARY KEY 
(\"id\", \"city\")) WITH " +
             "\"template=cache\"");
 
-        executeDdl("DROP TABLE \"Person\"");
+        execute("DROP TABLE \"Person\"");
 
         for (int i = 0; i < 4; i++) {
             IgniteEx node = grid(i);
@@ -327,7 +437,7 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      * @throws Exception if failed.
      */
     public void testDropMissingTableIfExists() throws Exception {
-        executeDdl("DROP TABLE IF EXISTS \"City\"");
+        execute("DROP TABLE IF EXISTS \"City\"");
     }
 
     /**
@@ -338,7 +448,7 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
     public void testDropMissingTable() throws Exception {
         GridTestUtils.assertThrows(null, new Callable<Object>() {
             @Override public Object call() throws Exception {
-                executeDdl("DROP TABLE \"City\"");
+                execute("DROP TABLE \"City\"");
 
                 return null;
             }
@@ -353,7 +463,7 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
     public void testDropNonDynamicTable() throws Exception {
         GridTestUtils.assertThrows(null, new Callable<Object>() {
             @Override public Object call() throws Exception {
-                executeDdl("DROP TABLE PUBLIC.\"Integer\"");
+                execute("DROP TABLE PUBLIC.\"Integer\"");
 
                 return null;
             }
@@ -367,7 +477,7 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      */
     @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
     public void testDestroyDynamicSqlCache() throws Exception {
-        executeDdl("CREATE TABLE \"Person\" (\"id\" int, \"city\" varchar," +
+        execute("CREATE TABLE \"Person\" (\"id\" int, \"city\" varchar," +
             " \"name\" varchar, \"surname\" varchar, \"age\" int, PRIMARY KEY 
(\"id\", \"city\")) WITH " +
             "\"template=cache\"");
 
@@ -388,7 +498,7 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      */
     @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
     public void testSqlFlagCompatibilityCheck() throws Exception {
-        executeDdl("CREATE TABLE \"Person\" (\"id\" int, \"city\" varchar, 
\"name\" varchar, \"surname\" varchar, " +
+        execute("CREATE TABLE \"Person\" (\"id\" int, \"city\" varchar, 
\"name\" varchar, \"surname\" varchar, " +
             "\"age\" int, PRIMARY KEY (\"id\", \"city\")) WITH 
\"template=cache\"");
 
         GridTestUtils.assertThrows(null, new Callable<Object>() {
@@ -409,9 +519,9 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      */
     @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
     public void testIndexNameConflictCheckDiscovery() throws Exception {
-        executeDdl(grid(0), "CREATE TABLE \"Person\" (id int primary key, name 
varchar)");
+        execute(grid(0), "CREATE TABLE \"Person\" (id int primary key, name 
varchar)");
 
-        executeDdl(grid(0), "CREATE INDEX \"idx\" ON \"Person\" (\"name\")");
+        execute(grid(0), "CREATE INDEX \"idx\" ON \"Person\" (\"name\")");
 
         GridTestUtils.assertThrows(null, new Callable<Object>() {
             @Override public Object call() throws Exception {
@@ -438,11 +548,11 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      */
     @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
     public void testTableNameConflictCheckSql() throws Exception {
-        executeDdl(grid(0), "CREATE TABLE \"Person\" (id int primary key, name 
varchar)");
+        execute(grid(0), "CREATE TABLE \"Person\" (id int primary key, name 
varchar)");
 
         GridTestUtils.assertThrows(null, new Callable<Object>() {
             @Override  public Object call() throws Exception {
-                executeDdl(client(), "CREATE TABLE \"Person\" (id int primary 
key, name varchar)");
+                execute(client(), "CREATE TABLE \"Person\" (id int primary 
key, name varchar)");
 
                 return null;
             }
@@ -453,18 +563,18 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      * @throws Exception if failed.
      */
     public void testAffinityKey() throws Exception {
-        executeDdl("CREATE TABLE \"City\" (\"name\" varchar primary key, 
\"code\" int) WITH \"affinityKey='name'\"");
+        execute("CREATE TABLE \"City\" (\"name\" varchar primary key, \"code\" 
int) WITH \"affinityKey='name'\"");
 
         assertAffinityCacheConfiguration("City", "name");
 
-        executeDdl("INSERT INTO \"City\" (\"name\", \"code\") values ('A', 1), 
('B', 2), ('C', 3)");
+        execute("INSERT INTO \"City\" (\"name\", \"code\") values ('A', 1), 
('B', 2), ('C', 3)");
 
         List<String> cityNames = Arrays.asList("A", "B", "C");
 
         List<Integer> cityCodes = Arrays.asList(1, 2, 3);
 
         // We need unique name for this table to avoid conflicts with existing 
binary metadata.
-        executeDdl("CREATE TABLE \"Person2\" (\"id\" int, \"city\" varchar," +
+        execute("CREATE TABLE \"Person2\" (\"id\" int, \"city\" varchar," +
             " \"name\" varchar, \"surname\" varchar, \"age\" int, PRIMARY KEY 
(\"id\", \"city\")) WITH " +
             "\"template=cache,affinityKey='city'\"");
 
@@ -511,26 +621,26 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      */
     @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
     public void testAffinityKeyCaseSensitivity() {
-        executeDdl("CREATE TABLE \"A\" (\"name\" varchar primary key, \"code\" 
int) WITH \"affinityKey='name'\"");
+        execute("CREATE TABLE \"A\" (\"name\" varchar primary key, \"code\" 
int) WITH \"affinityKey='name'\"");
 
         assertAffinityCacheConfiguration("A", "name");
 
-        executeDdl("CREATE TABLE \"B\" (name varchar primary key, \"code\" 
int) WITH \"affinityKey=name\"");
+        execute("CREATE TABLE \"B\" (name varchar primary key, \"code\" int) 
WITH \"affinityKey=name\"");
 
         assertAffinityCacheConfiguration("B", "NAME");
 
-        executeDdl("CREATE TABLE \"C\" (name varchar primary key, \"code\" 
int) WITH \"affinityKey=NamE\"");
+        execute("CREATE TABLE \"C\" (name varchar primary key, \"code\" int) 
WITH \"affinityKey=NamE\"");
 
         assertAffinityCacheConfiguration("C", "NAME");
 
-        executeDdl("CREATE TABLE \"D\" (\"name\" varchar primary key, \"code\" 
int) WITH \"affinityKey=NAME\"");
+        execute("CREATE TABLE \"D\" (\"name\" varchar primary key, \"code\" 
int) WITH \"affinityKey=NAME\"");
 
         assertAffinityCacheConfiguration("D", "name");
 
         // Error arises because user has specified case sensitive affinity 
column name
         GridTestUtils.assertThrows(null, new Callable<Object>() {
             @Override public Object call() throws Exception {
-                executeDdl("CREATE TABLE \"E\" (name varchar primary key, 
\"code\" int) WITH \"affinityKey='Name'\"");
+                execute("CREATE TABLE \"E\" (name varchar primary key, 
\"code\" int) WITH \"affinityKey='Name'\"");
 
                 return null;
             }
@@ -540,14 +650,14 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
         // columns whose names are equal in ignore case.
         GridTestUtils.assertThrows(null, new Callable<Object>() {
             @Override public Object call() throws Exception {
-                executeDdl("CREATE TABLE \"E\" (\"name\" varchar, \"Name\" 
int, val int, primary key(\"name\", " +
+                execute("CREATE TABLE \"E\" (\"name\" varchar, \"Name\" int, 
val int, primary key(\"name\", " +
                     "\"Name\")) WITH \"affinityKey=name\"");
 
                 return null;
             }
         }, IgniteSQLException.class, "Ambiguous affinity column name, use 
single quotes for case sensitivity: name");
 
-        executeDdl("CREATE TABLE \"E\" (\"name\" varchar, \"Name\" int, val 
int, primary key(\"name\", " +
+        execute("CREATE TABLE \"E\" (\"name\" varchar, \"Name\" int, val int, 
primary key(\"name\", " +
             "\"Name\")) WITH \"affinityKey='Name'\"");
 
         assertAffinityCacheConfiguration("E", "Name");
@@ -561,7 +671,7 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
         // Error arises because user has specified case sensitive affinity 
column name
         GridTestUtils.assertThrows(null, new Callable<Object>() {
             @Override public Object call() throws Exception {
-                executeDdl("CREATE TABLE \"E\" (name varchar primary key, 
\"code\" int) WITH \"affinityKey=code\"");
+                execute("CREATE TABLE \"E\" (name varchar primary key, 
\"code\" int) WITH \"affinityKey=code\"");
 
                 return null;
             }
@@ -576,7 +686,7 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
         // Error arises because user has specified case sensitive affinity 
column name
         GridTestUtils.assertThrows(null, new Callable<Object>() {
             @Override public Object call() throws Exception {
-                executeDdl("CREATE TABLE \"E\" (name varchar primary key, 
\"code\" int) WITH \"affinityKey=missing\"");
+                execute("CREATE TABLE \"E\" (name varchar primary key, 
\"code\" int) WITH \"affinityKey=missing\"");
 
                 return null;
             }
@@ -615,7 +725,7 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      * @param params Engine parameters.
      */
     private void createTableWithParams(final String params) {
-        executeDdl("CREATE TABLE \"Person\" (\"id\" int, \"city\" varchar" +
+        execute("CREATE TABLE \"Person\" (\"id\" int, \"city\" varchar" +
             ", \"name\" varchar, \"surname\" varchar, \"age\" int, PRIMARY KEY 
(\"id\", \"city\")) WITH " +
             "\"template=cache," + params + '"');
     }
@@ -629,7 +739,7 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
     public void testCreateTableInNonPublicSchema() throws Exception {
         GridTestUtils.assertThrows(null, new Callable<Object>() {
             @Override public Object call() throws Exception {
-                executeDdl("CREATE TABLE \"cache_idx\".\"Person\" (\"id\" int, 
\"city\" varchar," +
+                execute("CREATE TABLE \"cache_idx\".\"Person\" (\"id\" int, 
\"city\" varchar," +
                     " \"name\" varchar, \"surname\" varchar, \"age\" int, 
PRIMARY KEY (\"id\", \"city\")) WITH " +
                     "\"template=cache\"");
 
@@ -663,7 +773,7 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
     public void testDropTableNotPublicSchema() throws Exception {
         GridTestUtils.assertThrows(null, new Callable<Object>() {
             @Override public Object call() throws Exception {
-                executeDdl("DROP TABLE \"cache_idx\".\"Person\"");
+                execute("DROP TABLE \"cache_idx\".\"Person\"");
 
                 return null;
             }
@@ -675,8 +785,8 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      *
      * @param sql Statement.
      */
-    private void executeDdl(String sql) {
-        executeDdl(client(), sql);
+    private void execute(String sql) {
+        execute(client(), sql);
     }
 
     /**
@@ -755,7 +865,7 @@ public class H2DynamicTableSelfTest extends 
AbstractSchemaSelfTest {
      * @param node Node.
      * @param sql Statement.
      */
-    private void executeDdl(Ignite node, String sql) {
+    private void execute(Ignite node, String sql) {
         queryProcessor(node).querySqlFieldsNoCache(new 
SqlFieldsQuery(sql).setSchema("PUBLIC"), true);
     }
 

Reply via email to