You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2017/11/17 14:10:09 UTC
[1/2] ignite git commit: IGNITE-6270: SQL: added "AFFINITY_KEY" and
"CACHE_GROUP" parameters to "CREATE TABLE" command as more convenient
synonyms to existing "AFFINITYKEY" and "CACHEGROUP". This closes #2831.
Repository: ignite
Updated Branches:
refs/heads/master dee8b400a -> 25048f8bc
IGNITE-6270: SQL: added "AFFINITY_KEY" and "CACHE_GROUP" parameters to "CREATE TABLE" command as more convenient synonyms to existing "AFFINITYKEY" and "CACHEGROUP". This closes #2831.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/4f77ef29
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/4f77ef29
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/4f77ef29
Branch: refs/heads/master
Commit: 4f77ef29ecb8a47e512f921115f37844cc27d4d4
Parents: 8ee6cb5
Author: Alexander Paschenko <al...@gmail.com>
Authored: Fri Nov 17 17:09:01 2017 +0300
Committer: devozerov <vo...@gridgain.com>
Committed: Fri Nov 17 17:09:01 2017 +0300
----------------------------------------------------------------------
.../examples/datagrid/CacheQueryDdlExample.java | 2 +-
.../ignite/examples/datagrid/JdbcExample.java | 2 +-
.../thin/JdbcThinComplexDmlDdlSelfTest.java | 5 +-
.../query/h2/sql/GridSqlQueryParser.java | 12 ++++-
.../index/H2DynamicIndexingComplexTest.java | 4 +-
.../cache/index/H2DynamicTableSelfTest.java | 49 +++++++++++++++-----
6 files changed, 53 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/4f77ef29/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheQueryDdlExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheQueryDdlExample.java b/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheQueryDdlExample.java
index e27907d..7ac2751 100644
--- a/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheQueryDdlExample.java
+++ b/examples/src/main/java/org/apache/ignite/examples/datagrid/CacheQueryDdlExample.java
@@ -62,7 +62,7 @@ public class CacheQueryDdlExample {
// Create table based on PARTITIONED template with one backup.
cache.query(new SqlFieldsQuery(
"CREATE TABLE person (id LONG, name VARCHAR, city_id LONG, PRIMARY KEY (id, city_id)) " +
- "WITH \"backups=1, affinityKey=city_id\"")).getAll();
+ "WITH \"backups=1, affinity_key=city_id\"")).getAll();
// Create an index.
cache.query(new SqlFieldsQuery("CREATE INDEX on Person (city_id)")).getAll();
http://git-wip-us.apache.org/repos/asf/ignite/blob/4f77ef29/examples/src/main/java/org/apache/ignite/examples/datagrid/JdbcExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java/org/apache/ignite/examples/datagrid/JdbcExample.java b/examples/src/main/java/org/apache/ignite/examples/datagrid/JdbcExample.java
index bc96e42..7a02a7e 100644
--- a/examples/src/main/java/org/apache/ignite/examples/datagrid/JdbcExample.java
+++ b/examples/src/main/java/org/apache/ignite/examples/datagrid/JdbcExample.java
@@ -51,7 +51,7 @@ public class JdbcExample {
// Create table based on PARTITIONED template with one backup.
stmt.executeUpdate("CREATE TABLE person (id LONG, name VARCHAR, city_id LONG, " +
- "PRIMARY KEY (id, city_id)) WITH \"backups=1, affinityKey=city_id\"");
+ "PRIMARY KEY (id, city_id)) WITH \"backups=1, affinity_key=city_id\"");
// Create an index.
stmt.executeUpdate("CREATE INDEX on Person (city_id)");
http://git-wip-us.apache.org/repos/asf/ignite/blob/4f77ef29/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinComplexDmlDdlSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinComplexDmlDdlSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinComplexDmlDdlSelfTest.java
index d4e03bc..cdc9130 100644
--- a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinComplexDmlDdlSelfTest.java
+++ b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinComplexDmlDdlSelfTest.java
@@ -32,7 +32,6 @@ import org.apache.ignite.cache.CacheAtomicityMode;
import org.apache.ignite.cache.CacheMode;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.binary.BinaryMarshaller;
import org.apache.ignite.internal.processors.cache.DynamicCacheDescriptor;
import org.apache.ignite.lang.IgniteCallable;
import org.apache.ignite.lang.IgnitePredicate;
@@ -151,12 +150,12 @@ public class JdbcThinComplexDmlDdlSelfTest extends GridCommonAbstractTest {
sql(new UpdateChecker(0),
"CREATE TABLE person (id int, name varchar, age int, company varchar, city varchar, " +
"primary key (id, name, city)) WITH \"template=" + cacheMode.name() + ",atomicity=" + atomicityMode.name()
- + ",affinitykey=city\"");
+ + ",affinity_key=city\"");
sql(new UpdateChecker(0), "CREATE INDEX idx on person (city asc, name asc)");
sql(new UpdateChecker(0), "CREATE TABLE city (name varchar, population int, primary key (name)) WITH " +
- "\"template=" + cacheMode.name() + ",atomicity=" + atomicityMode.name() + ",affinitykey=name\"");
+ "\"template=" + cacheMode.name() + ",atomicity=" + atomicityMode.name() + ",affinity_key=name\"");
sql(new UpdateChecker(3),
"INSERT INTO city (name, population) values(?, ?), (?, ?), (?, ?)",
http://git-wip-us.apache.org/repos/asf/ignite/blob/4f77ef29/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java
index 46b2aee..8ffc5fa 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQueryParser.java
@@ -457,10 +457,16 @@ public class GridSqlQueryParser {
private static final String PARAM_ATOMICITY = "ATOMICITY";
/** */
- private static final String PARAM_CACHE_GROUP = "CACHEGROUP";
+ private static final String PARAM_CACHE_GROUP_OLD = "CACHEGROUP";
/** */
- private static final String PARAM_AFFINITY_KEY = "AFFINITYKEY";
+ private static final String PARAM_AFFINITY_KEY_OLD = "AFFINITYKEY";
+
+ /** */
+ private static final String PARAM_CACHE_GROUP = "CACHE_GROUP";
+
+ /** */
+ private static final String PARAM_AFFINITY_KEY = "AFFINITY_KEY";
/** */
private static final String PARAM_WRITE_SYNC = "WRITE_SYNCHRONIZATION_MODE";
@@ -1317,6 +1323,7 @@ public class GridSqlQueryParser {
break;
+ case PARAM_CACHE_GROUP_OLD:
case PARAM_CACHE_GROUP:
ensureNotEmpty(name, val);
@@ -1324,6 +1331,7 @@ public class GridSqlQueryParser {
break;
+ case PARAM_AFFINITY_KEY_OLD:
case PARAM_AFFINITY_KEY:
ensureNotEmpty(name, val);
http://git-wip-us.apache.org/repos/asf/ignite/blob/4f77ef29/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicIndexingComplexTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicIndexingComplexTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicIndexingComplexTest.java
index 0be691e..f9d3408 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicIndexingComplexTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicIndexingComplexTest.java
@@ -94,12 +94,12 @@ public abstract class H2DynamicIndexingComplexTest extends DynamicIndexAbstractS
public void testOperations() {
executeSql("CREATE TABLE person (id int, name varchar, age int, company varchar, city varchar, " +
"primary key (id, name, city)) WITH \"template=" + cacheMode.name() + ",atomicity=" + atomicityMode.name() +
- ",affinitykey=city\"");
+ ",affinity_key=city\"");
executeSql("CREATE INDEX idx on person (city asc, name asc)");
executeSql("CREATE TABLE city (name varchar, population int, primary key (name)) WITH " +
- "\"template=" + cacheMode.name() + ",atomicity=" + atomicityMode.name() + ",affinitykey=name\"");
+ "\"template=" + cacheMode.name() + ",atomicity=" + atomicityMode.name() + ",affinity_key=name\"");
executeSql("INSERT INTO city (name, population) values(?, ?), (?, ?), (?, ?)",
"St. Petersburg", 6000000,
http://git-wip-us.apache.org/repos/asf/ignite/blob/4f77ef29/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 ef59a62..71b0b5f 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
@@ -141,6 +141,14 @@ public class H2DynamicTableSelfTest extends AbstractSchemaSelfTest {
}
/**
+ * Test that {@code CREATE TABLE} actually creates new cache, H2 table and type descriptor on all nodes.
+ * @throws Exception if failed.
+ */
+ public void testCreateTableWithCacheGroupAndLegacyParamName() throws Exception {
+ doTestCreateTable(CACHE_NAME, "MyGroup", null, null, true);
+ }
+
+ /**
* Test that {@code CREATE TABLE} actually creates new cache from template,
* H2 table and type descriptor on all nodes.
* @throws Exception if failed.
@@ -484,10 +492,27 @@ public class H2DynamicTableSelfTest extends AbstractSchemaSelfTest {
*/
private void doTestCreateTable(String tplCacheName, String cacheGrp, CacheMode cacheMode,
CacheWriteSynchronizationMode writeSyncMode, String... additionalParams) {
+ doTestCreateTable(tplCacheName, cacheGrp, cacheMode, writeSyncMode, false, additionalParams);
+ }
+
+ /**
+ * 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.
+ * @param cacheGrp Cache group name, or {@code null} if no group is set.
+ * @param cacheMode Expected cache mode, or {@code null} if no check is needed.
+ * @param writeSyncMode Expected write sync mode, or {@code null} if no check is needed.
+ * @param useLegacyCacheGrpParamName Whether legacy (harder-to-read) cache group param name should be used.
+ * @param additionalParams Supplemental parameters to append to {@code CREATE TABLE} SQL.
+ */
+ private void doTestCreateTable(String tplCacheName, String cacheGrp, CacheMode cacheMode,
+ CacheWriteSynchronizationMode writeSyncMode, boolean useLegacyCacheGrpParamName, String... additionalParams) {
+ String cacheGrpParamName = useLegacyCacheGrpParamName ? "cacheGroup" : "cache_group";
+
String sql = "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 + '"');
+ (F.isEmpty(cacheGrp) ? "" : ",\"" + cacheGrpParamName + '=' + cacheGrp + '"');
for (String p : additionalParams)
sql += ",\"" + p + "\"";
@@ -582,7 +607,7 @@ public class H2DynamicTableSelfTest extends AbstractSchemaSelfTest {
* Test that attempting to omit mandatory value of CACHEGROUP parameter yields an error.
*/
public void testEmptyCacheGroup() {
- assertCreateTableWithParamsThrows("cachegroup=", "Parameter value cannot be empty: CACHEGROUP");
+ assertCreateTableWithParamsThrows("cache_group=", "Parameter value cannot be empty: CACHE_GROUP");
}
/**
@@ -817,7 +842,7 @@ public class H2DynamicTableSelfTest extends AbstractSchemaSelfTest {
*/
public void testAffinityKey() throws Exception {
execute("CREATE TABLE \"City\" (\"name\" varchar primary key, \"code\" int) WITH wrap_key,wrap_value," +
- "\"affinityKey='name'\"");
+ "\"affinity_key='name'\"");
assertAffinityCacheConfiguration("City", "name");
@@ -830,7 +855,7 @@ public class H2DynamicTableSelfTest extends AbstractSchemaSelfTest {
// We need unique name for this table to avoid conflicts with existing binary metadata.
execute("CREATE TABLE \"Person2\" (\"id\" int, \"city\" varchar," +
" \"name\" varchar, \"surname\" varchar, \"age\" int, PRIMARY KEY (\"id\", \"city\")) WITH " +
- "wrap_key,wrap_value,\"template=cache,affinityKey='city'\"");
+ "wrap_key,wrap_value,\"template=cache,affinity_key='city'\"");
assertAffinityCacheConfiguration("Person2", "city");
@@ -903,22 +928,22 @@ public class H2DynamicTableSelfTest extends AbstractSchemaSelfTest {
@SuppressWarnings("ThrowableResultOfMethodCallIgnored")
public void testAffinityKeyCaseSensitivity() {
execute("CREATE TABLE \"A\" (\"name\" varchar primary key, \"code\" int) WITH wrap_key,wrap_value," +
- "\"affinityKey='name'\"");
+ "\"affinity_key='name'\"");
assertAffinityCacheConfiguration("A", "name");
execute("CREATE TABLE \"B\" (name varchar primary key, \"code\" int) WITH wrap_key,wrap_value," +
- "\"affinityKey=name\"");
+ "\"affinity_key=name\"");
assertAffinityCacheConfiguration("B", "NAME");
execute("CREATE TABLE \"C\" (name varchar primary key, \"code\" int) WITH wrap_key,wrap_value," +
- "\"affinityKey=NamE\"");
+ "\"affinity_key=NamE\"");
assertAffinityCacheConfiguration("C", "NAME");
execute("CREATE TABLE \"D\" (\"name\" varchar primary key, \"code\" int) WITH wrap_key,wrap_value," +
- "\"affinityKey=NAME\"");
+ "\"affinity_key=NAME\"");
assertAffinityCacheConfiguration("D", "name");
@@ -926,7 +951,7 @@ public class H2DynamicTableSelfTest extends AbstractSchemaSelfTest {
GridTestUtils.assertThrows(null, new Callable<Object>() {
@Override public Object call() throws Exception {
execute("CREATE TABLE \"E\" (name varchar primary key, \"code\" int) WITH wrap_key,wrap_value," +
- "\"affinityKey='Name'\"");
+ "\"affinity_key='Name'\"");
return null;
}
@@ -937,7 +962,7 @@ public class H2DynamicTableSelfTest extends AbstractSchemaSelfTest {
GridTestUtils.assertThrows(null, new Callable<Object>() {
@Override public Object call() throws Exception {
execute("CREATE TABLE \"E\" (\"name\" varchar, \"Name\" int, val int, primary key(\"name\", " +
- "\"Name\")) WITH \"affinityKey=name\"");
+ "\"Name\")) WITH \"affinity_key=name\"");
return null;
}
@@ -967,7 +992,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 {
- execute("CREATE TABLE \"E\" (name varchar primary key, \"code\" int) WITH \"affinityKey=code\"");
+ execute("CREATE TABLE \"E\" (name varchar primary key, \"code\" int) WITH \"affinity_key=code\"");
return null;
}
@@ -982,7 +1007,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 {
- execute("CREATE TABLE \"E\" (name varchar primary key, \"code\" int) WITH \"affinityKey=missing\"");
+ execute("CREATE TABLE \"E\" (name varchar primary key, \"code\" int) WITH \"affinity_key=missing\"");
return null;
}
[2/2] ignite git commit: Merge remote-tracking branch 'origin/master'
Posted by vo...@apache.org.
Merge remote-tracking branch 'origin/master'
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/25048f8b
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/25048f8b
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/25048f8b
Branch: refs/heads/master
Commit: 25048f8bc792c75f44076d1eaca192e10dc5e43d
Parents: 4f77ef2 dee8b40
Author: devozerov <vo...@gridgain.com>
Authored: Fri Nov 17 17:09:54 2017 +0300
Committer: devozerov <vo...@gridgain.com>
Committed: Fri Nov 17 17:09:54 2017 +0300
----------------------------------------------------------------------
modules/platforms/dotnet/build.ps1 | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------