You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/05/29 09:30:36 UTC
[10/24] ignite git commit: IGNITE-5287: Simplified
CacheConfiguration.sqlEscapeAll handling. This closes #2004.
http://git-wip-us.apache.org/repos/asf/ignite/blob/427ca690/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 7e3473f..cc6fb9a 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
@@ -22,7 +22,6 @@ import org.apache.ignite.Ignition;
import org.apache.ignite.cache.CacheAtomicityMode;
import org.apache.ignite.cache.CacheMode;
import org.apache.ignite.cache.QueryIndex;
-import org.apache.ignite.cache.query.SqlFieldsQuery;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.configuration.NearCacheConfiguration;
@@ -30,13 +29,10 @@ import org.apache.ignite.internal.IgniteEx;
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.GridStringBuilder;
-import org.apache.ignite.internal.util.typedef.internal.SB;
import javax.cache.CacheException;
import java.util.Arrays;
import java.util.List;
-import java.util.Map;
import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
@@ -189,10 +185,10 @@ public abstract class DynamicIndexAbstractBasicSelfTest extends DynamicIndexAbst
private void checkCreate(CacheMode mode, CacheAtomicityMode atomicityMode, boolean near) throws Exception {
initialize(mode, atomicityMode, near);
- final QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_1));
+ final QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_1_ESCAPED));
dynamicIndexCreate(CACHE_NAME, TBL_NAME, idx, false);
- assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1, field(FIELD_NAME_1));
+ assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1, field(FIELD_NAME_1_ESCAPED));
assertSchemaException(new RunnableX() {
@Override public void run() throws Exception {
@@ -201,7 +197,7 @@ public abstract class DynamicIndexAbstractBasicSelfTest extends DynamicIndexAbst
}, IgniteQueryErrorCode.INDEX_ALREADY_EXISTS);
dynamicIndexCreate(CACHE_NAME, TBL_NAME, idx, true);
- assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1, field(FIELD_NAME_1));
+ assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1, field(FIELD_NAME_1_ESCAPED));
assertSimpleIndexOperations(SQL_SIMPLE_FIELD_1);
@@ -273,10 +269,10 @@ public abstract class DynamicIndexAbstractBasicSelfTest extends DynamicIndexAbst
private void checkCreateComposite(CacheMode mode, CacheAtomicityMode atomicityMode, boolean near) throws Exception {
initialize(mode, atomicityMode, near);
- final QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_1), field(alias(FIELD_NAME_2)));
+ final QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_1_ESCAPED), field(alias(FIELD_NAME_2_ESCAPED)));
dynamicIndexCreate(CACHE_NAME, TBL_NAME, idx, false);
- assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1, field(FIELD_NAME_1), field(alias(FIELD_NAME_2)));
+ assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1, field(FIELD_NAME_1_ESCAPED), field(alias(FIELD_NAME_2_ESCAPED)));
assertCompositeIndexOperations(SQL_COMPOSITE);
@@ -348,7 +344,7 @@ public abstract class DynamicIndexAbstractBasicSelfTest extends DynamicIndexAbst
private void checkCreateNotCache(CacheMode mode, CacheAtomicityMode atomicityMode, boolean near) throws Exception {
initialize(mode, atomicityMode, near);
- final QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_1));
+ final QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_1_ESCAPED));
try {
String cacheName = randomString();
@@ -434,7 +430,7 @@ public abstract class DynamicIndexAbstractBasicSelfTest extends DynamicIndexAbst
private void checkCreateNoTable(CacheMode mode, CacheAtomicityMode atomicityMode, boolean near) throws Exception {
initialize(mode, atomicityMode, near);
- final QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_1));
+ final QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_1_ESCAPED));
assertSchemaException(new RunnableX() {
@Override public void run() throws Exception {
@@ -589,7 +585,7 @@ public abstract class DynamicIndexAbstractBasicSelfTest extends DynamicIndexAbst
assertSchemaException(new RunnableX() {
@Override public void run() throws Exception {
- QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_2));
+ QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_2_ESCAPED));
dynamicIndexCreate(CACHE_NAME, TBL_NAME, idx, false);
}
@@ -597,10 +593,10 @@ public abstract class DynamicIndexAbstractBasicSelfTest extends DynamicIndexAbst
assertNoIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1);
- QueryIndex idx = index(IDX_NAME_1, field(alias(FIELD_NAME_2)));
+ QueryIndex idx = index(IDX_NAME_1, field(alias(FIELD_NAME_2_ESCAPED)));
dynamicIndexCreate(CACHE_NAME, TBL_NAME, idx, false);
- assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1, field(alias(FIELD_NAME_2)));
+ assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1, field(alias(FIELD_NAME_2_ESCAPED)));
assertSimpleIndexOperations(SQL_SIMPLE_FIELD_2);
@@ -673,20 +669,20 @@ public abstract class DynamicIndexAbstractBasicSelfTest extends DynamicIndexAbst
initialize(mode, atomicityMode, near);
// Create target index.
- QueryIndex idx1 = index(IDX_NAME_1, field(FIELD_NAME_1));
+ QueryIndex idx1 = index(IDX_NAME_1, field(FIELD_NAME_1_ESCAPED));
dynamicIndexCreate(CACHE_NAME, TBL_NAME, idx1, false);
- assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1, field(FIELD_NAME_1));
+ assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1, field(FIELD_NAME_1_ESCAPED));
assertIndexUsed(IDX_NAME_1, SQL_SIMPLE_FIELD_1, SQL_ARG_1);
assertSimpleIndexOperations(SQL_SIMPLE_FIELD_1);
// Create another index which must stay intact afterwards.
- QueryIndex idx2 = index(IDX_NAME_2, field(alias(FIELD_NAME_2)));
+ QueryIndex idx2 = index(IDX_NAME_2, field(alias(FIELD_NAME_2_ESCAPED)));
dynamicIndexCreate(CACHE_NAME, TBL_NAME, idx2, false);
- assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_2, field(alias(FIELD_NAME_2)));
+ assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_2, field(alias(FIELD_NAME_2_ESCAPED)));
// Load some data.
loadInitialData();
@@ -700,7 +696,7 @@ public abstract class DynamicIndexAbstractBasicSelfTest extends DynamicIndexAbst
assertIndexNotUsed(IDX_NAME_1, SQL_SIMPLE_FIELD_1, SQL_ARG_1);
// Make sure the second index is still there.
- assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_2, field(alias(FIELD_NAME_2)));
+ assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_2, field(alias(FIELD_NAME_2_ESCAPED)));
}
/**
@@ -875,7 +871,7 @@ public abstract class DynamicIndexAbstractBasicSelfTest extends DynamicIndexAbst
node.getOrCreateCache(cacheConfiguration().setCacheMode(LOCAL));
}
- final QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_1));
+ final QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_1_ESCAPED));
assertSchemaException(new RunnableX() {
@Override public void run() throws Exception {
@@ -1028,30 +1024,7 @@ public abstract class DynamicIndexAbstractBasicSelfTest extends DynamicIndexAbst
*/
private void dynamicIndexCreate(String cacheName, String tblName, QueryIndex idx, boolean ifNotExists)
throws Exception {
- GridStringBuilder sql = new SB("CREATE INDEX ")
- .a(ifNotExists ? "IF NOT EXISTS " : "")
- .a("\"" + idx.getName() + "\"")
- .a(" ON ")
- .a(tblName)
- .a(" (");
-
- boolean first = true;
-
- for (Map.Entry<String, Boolean> fieldEntry : idx.getFields().entrySet()) {
- if (first)
- first = false;
- else
- sql.a(", ");
-
- String name = fieldEntry.getKey();
- boolean asc = fieldEntry.getValue();
-
- sql.a("\"" + name + "\"").a(" ").a(asc ? "ASC" : "DESC");
- }
-
- sql.a(')');
-
- executeSql(cacheName, sql.toString());
+ dynamicIndexCreate(node(), cacheName, tblName, idx, ifNotExists);
}
/**
@@ -1063,20 +1036,6 @@ public abstract class DynamicIndexAbstractBasicSelfTest extends DynamicIndexAbst
* @throws Exception if failed.
*/
private void dynamicIndexDrop(String cacheName, String idxName, boolean ifExists) throws Exception {
- String sql = "DROP INDEX " + (ifExists ? "IF EXISTS " : "") + "\"" + idxName + "\"";
-
- executeSql(cacheName, sql);
- }
-
- /**
- * Execute SQL.
- *
- * @param cacheName Cache name.
- * @param sql SQL.
- */
- private void executeSql(String cacheName, String sql) {
- log.info("Executing DDL: " + sql);
-
- node().cache(cacheName).query(new SqlFieldsQuery(sql)).getAll();
+ dynamicIndexDrop(node(), cacheName, idxName, ifExists);
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/427ca690/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractConcurrentSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractConcurrentSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractConcurrentSelfTest.java
index 3600022..5d93c12 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractConcurrentSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractConcurrentSelfTest.java
@@ -169,7 +169,7 @@ public abstract class DynamicIndexAbstractConcurrentSelfTest extends DynamicInde
// Test migration from normal server to non-affinity server.
blockIndexing(srv2Id);
- QueryIndex idx2 = index(IDX_NAME_2, field(alias(FIELD_NAME_2)));
+ QueryIndex idx2 = index(IDX_NAME_2, field(aliasUnescaped(FIELD_NAME_2)));
IgniteInternalFuture<?> idxFut2 =
queryProcessor(cli).dynamicIndexCreate(CACHE_NAME, CACHE_NAME, TBL_NAME, idx2, false);
@@ -183,7 +183,7 @@ public abstract class DynamicIndexAbstractConcurrentSelfTest extends DynamicInde
idxFut2.get();
- assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_2, field(alias(FIELD_NAME_2)));
+ assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_2, field(aliasUnescaped(FIELD_NAME_2)));
assertIndexUsed(IDX_NAME_2, SQL_SIMPLE_FIELD_2, SQL_ARG_1);
assertSqlSimpleData(SQL_SIMPLE_FIELD_2, KEY_AFTER - SQL_ARG_1);
}
@@ -205,7 +205,7 @@ public abstract class DynamicIndexAbstractConcurrentSelfTest extends DynamicInde
blockIndexing(srv1);
QueryIndex idx1 = index(IDX_NAME_1, field(FIELD_NAME_1));
- QueryIndex idx2 = index(IDX_NAME_2, field(alias(FIELD_NAME_2)));
+ QueryIndex idx2 = index(IDX_NAME_2, field(aliasUnescaped(FIELD_NAME_2)));
IgniteInternalFuture<?> idxFut1 =
queryProcessor(srv1).dynamicIndexCreate(CACHE_NAME, CACHE_NAME, TBL_NAME, idx1, false);
@@ -227,7 +227,7 @@ public abstract class DynamicIndexAbstractConcurrentSelfTest extends DynamicInde
idxFut2.get();
assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1, field(FIELD_NAME_1));
- assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_2, field(alias(FIELD_NAME_2)));
+ assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_2, field(aliasUnescaped(FIELD_NAME_2)));
Thread.sleep(100);
@@ -354,7 +354,7 @@ public abstract class DynamicIndexAbstractConcurrentSelfTest extends DynamicInde
for (Ignite node : Ignition.allGrids()) {
IgniteCache<BinaryObject, BinaryObject> nodeCache = node.cache(CACHE_NAME).withKeepBinary();
- SqlQuery qry = new SqlQuery(tableName(ValueClass.class), SQL_SIMPLE_FIELD_1).setArgs(SQL_ARG_1);
+ SqlQuery qry = new SqlQuery(typeName(ValueClass.class), SQL_SIMPLE_FIELD_1).setArgs(SQL_ARG_1);
List<Cache.Entry<BinaryObject, BinaryObject>> res = nodeCache.query(qry).getAll();
@@ -676,11 +676,11 @@ public abstract class DynamicIndexAbstractConcurrentSelfTest extends DynamicInde
assertIndexNotUsed(IDX_NAME_1, SQL_SIMPLE_FIELD_1, SQL_ARG_1);
// Update existing index.
- QueryIndex idx = index(IDX_NAME_2, field(alias(FIELD_NAME_2)));
+ QueryIndex idx = index(IDX_NAME_2, field(aliasUnescaped(FIELD_NAME_2)));
queryProcessor(srv).dynamicIndexCreate(CACHE_NAME, CACHE_NAME, TBL_NAME, idx, false).get();
- assertIndex(cli, true, CACHE_NAME, TBL_NAME, IDX_NAME_2, field(alias(FIELD_NAME_2)));
+ assertIndex(cli, true, CACHE_NAME, TBL_NAME, IDX_NAME_2, field(aliasUnescaped(FIELD_NAME_2)));
assertIndexUsed(IDX_NAME_2, SQL_SIMPLE_FIELD_2, SQL_ARG_2);
reconnectClientNode(srv, cli, restartCache, new RunnableX() {
@@ -688,13 +688,13 @@ public abstract class DynamicIndexAbstractConcurrentSelfTest extends DynamicInde
if (!restartCache)
queryProcessor(srv).dynamicIndexDrop(CACHE_NAME, CACHE_NAME, IDX_NAME_2, false).get();
- final QueryIndex idx = index(IDX_NAME_2, field(FIELD_NAME_1), field(alias(FIELD_NAME_2)));
+ final QueryIndex idx = index(IDX_NAME_2, field(FIELD_NAME_1), field(aliasUnescaped(FIELD_NAME_2)));
queryProcessor(srv).dynamicIndexCreate(CACHE_NAME, CACHE_NAME, TBL_NAME, idx, false);
}
});
- assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_2, field(FIELD_NAME_1), field(alias(FIELD_NAME_2)));
+ assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_2, field(FIELD_NAME_1), field(aliasUnescaped(FIELD_NAME_2)));
assertIndexUsed(IDX_NAME_2, SQL_COMPOSITE, SQL_ARG_1, SQL_ARG_2);
}
@@ -1029,6 +1029,16 @@ public abstract class DynamicIndexAbstractConcurrentSelfTest extends DynamicInde
}
/**
+ * Get unescaped field alias.
+ *
+ * @param field Field.
+ * @return Alias.
+ */
+ private static String aliasUnescaped(String field) {
+ return alias(field).toUpperCase();
+ }
+
+ /**
* Blocking indexing processor.
*/
private static class BlockingIndexing extends IgniteH2Indexing {
http://git-wip-us.apache.org/repos/asf/ignite/blob/427ca690/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractSelfTest.java
index fc765a4..5a58965 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractSelfTest.java
@@ -60,15 +60,15 @@ public abstract class DynamicIndexAbstractSelfTest extends AbstractSchemaSelfTes
protected static final int KEY_AFTER = 200;
/** SQL to check index on the field 1. */
- protected static final String SQL_SIMPLE_FIELD_1 = "SELECT * FROM " + TBL_NAME + " WHERE " + FIELD_NAME_1 + " >= ?";
+ protected static final String SQL_SIMPLE_FIELD_1 = "SELECT * FROM " + TBL_NAME + " WHERE " + FIELD_NAME_1_ESCAPED + " >= ?";
/** SQL to check composite index */
- protected static final String SQL_COMPOSITE = "SELECT * FROM " + TBL_NAME + " WHERE " + FIELD_NAME_1 +
- " >= ? AND " + alias(FIELD_NAME_2) + " >= ?";
+ protected static final String SQL_COMPOSITE = "SELECT * FROM " + TBL_NAME + " WHERE " + FIELD_NAME_1_ESCAPED +
+ " >= ? AND " + alias(FIELD_NAME_2_ESCAPED) + " >= ?";
/** SQL to check index on the field 2. */
protected static final String SQL_SIMPLE_FIELD_2 =
- "SELECT * FROM " + TBL_NAME + " WHERE " + alias(FIELD_NAME_2) + " >= ?";
+ "SELECT * FROM " + TBL_NAME + " WHERE " + alias(FIELD_NAME_2_ESCAPED) + " >= ?";
/** Argument for simple SQL (1). */
protected static final int SQL_ARG_1 = 40;
@@ -165,12 +165,12 @@ public abstract class DynamicIndexAbstractSelfTest extends AbstractSchemaSelfTes
entity.addQueryField(FIELD_KEY_ALIAS, entity.getKeyType(), null);
entity.addQueryField(FIELD_KEY, Long.class.getName(), null);
- entity.addQueryField(FIELD_NAME_1, Long.class.getName(), null);
- entity.addQueryField(FIELD_NAME_2, Long.class.getName(), null);
+ entity.addQueryField(FIELD_NAME_1_ESCAPED, Long.class.getName(), null);
+ entity.addQueryField(FIELD_NAME_2_ESCAPED, Long.class.getName(), null);
entity.setKeyFields(Collections.singleton(FIELD_KEY));
- entity.setAliases(Collections.singletonMap(FIELD_NAME_2, alias(FIELD_NAME_2)));
+ entity.setAliases(Collections.singletonMap(FIELD_NAME_2_ESCAPED, alias(FIELD_NAME_2_ESCAPED)));
ccfg.setQueryEntities(Collections.singletonList(entity));
@@ -264,8 +264,8 @@ public abstract class DynamicIndexAbstractSelfTest extends AbstractSchemaSelfTes
*/
protected static BinaryObject value(Ignite ignite, long id) {
return ignite.binary().builder(ValueClass.class.getName())
- .setField(FIELD_NAME_1, id)
- .setField(FIELD_NAME_2, id)
+ .setField(FIELD_NAME_1_ESCAPED, id)
+ .setField(FIELD_NAME_2_ESCAPED, id)
.build();
}
@@ -388,7 +388,7 @@ public abstract class DynamicIndexAbstractSelfTest extends AbstractSchemaSelfTes
* @param expSize Expected size.
*/
protected static void assertSqlSimpleData(Ignite node, String sql, int expSize) {
- SqlQuery qry = new SqlQuery(tableName(ValueClass.class), sql).setArgs(SQL_ARG_1);
+ SqlQuery qry = new SqlQuery(typeName(ValueClass.class), sql).setArgs(SQL_ARG_1);
List<Cache.Entry<BinaryObject, BinaryObject>> res = node.cache(CACHE_NAME).withKeepBinary().query(qry).getAll();
@@ -397,8 +397,8 @@ public abstract class DynamicIndexAbstractSelfTest extends AbstractSchemaSelfTes
for (Cache.Entry<BinaryObject, BinaryObject> entry : res) {
long id = entry.getKey().field(FIELD_KEY);
- long field1 = entry.getValue().field(FIELD_NAME_1);
- long field2 = entry.getValue().field(FIELD_NAME_2);
+ long field1 = entry.getValue().field(FIELD_NAME_1_ESCAPED);
+ long field2 = entry.getValue().field(FIELD_NAME_2_ESCAPED);
assertTrue(field1 >= SQL_ARG_1);
@@ -420,7 +420,7 @@ public abstract class DynamicIndexAbstractSelfTest extends AbstractSchemaSelfTes
* @param expSize Expected size.
*/
protected static void assertSqlCompositeData(Ignite node, String sql, int expSize) {
- SqlQuery qry = new SqlQuery(tableName(ValueClass.class), sql).setArgs(SQL_ARG_1, SQL_ARG_2);
+ SqlQuery qry = new SqlQuery(typeName(ValueClass.class), sql).setArgs(SQL_ARG_1, SQL_ARG_2);
List<Cache.Entry<BinaryObject, BinaryObject>> res = node.cache(CACHE_NAME).withKeepBinary().query(qry).getAll();
@@ -429,8 +429,8 @@ public abstract class DynamicIndexAbstractSelfTest extends AbstractSchemaSelfTes
for (Cache.Entry<BinaryObject, BinaryObject> entry : res) {
long id = entry.getKey().field(FIELD_KEY);
- long field1 = entry.getValue().field(FIELD_NAME_1);
- long field2 = entry.getValue().field(FIELD_NAME_2);
+ long field1 = entry.getValue().field(FIELD_NAME_1_ESCAPED);
+ long field2 = entry.getValue().field(FIELD_NAME_2_ESCAPED);
assertTrue(field1 >= SQL_ARG_2);
http://git-wip-us.apache.org/repos/asf/ignite/blob/427ca690/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicIndexAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicIndexAbstractSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicIndexAbstractSelfTest.java
index cf563cc..85b4e8c 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicIndexAbstractSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/H2DynamicIndexAbstractSelfTest.java
@@ -66,7 +66,7 @@ public abstract class H2DynamicIndexAbstractSelfTest extends AbstractSchemaSelfT
client().getOrCreateCache(cacheConfiguration());
- assertNoIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1);
+ assertNoIndex(CACHE_NAME, TBL_NAME_ESCAPED, IDX_NAME_1_ESCAPED);
IgniteCache<KeyClass, ValueClass> cache = client().cache(CACHE_NAME);
@@ -90,8 +90,8 @@ public abstract class H2DynamicIndexAbstractSelfTest extends AbstractSchemaSelfT
assertSize(3);
- cache.query(new SqlFieldsQuery("CREATE INDEX \"" + IDX_NAME_1 + "\" ON \"" + TBL_NAME + "\"(\""
- + FIELD_NAME_1 + "\" ASC)")).getAll();
+ cache.query(new SqlFieldsQuery("CREATE INDEX \"" + IDX_NAME_1_ESCAPED + "\" ON \"" + TBL_NAME_ESCAPED + "\"(\""
+ + FIELD_NAME_1_ESCAPED + "\" ASC)")).getAll();
// Test that local queries on all nodes use new index.
for (int i = 0 ; i < 4; i++) {
@@ -124,12 +124,13 @@ public abstract class H2DynamicIndexAbstractSelfTest extends AbstractSchemaSelfT
public void testCreateIndexWithDuplicateName() {
final IgniteCache<KeyClass, ValueClass> cache = cache();
- cache.query(new SqlFieldsQuery("CREATE INDEX \"" + IDX_NAME_1 + "\" ON \"" + TBL_NAME + "\"(\""
- + FIELD_NAME_1 + "\" ASC)"));
+ cache.query(new SqlFieldsQuery("CREATE INDEX \"" + IDX_NAME_1_ESCAPED + "\" ON \"" + TBL_NAME_ESCAPED + "\"(\""
+ + FIELD_NAME_1_ESCAPED + "\" ASC)"));
assertSqlException(new RunnableX() {
@Override public void run() throws Exception {
- cache.query(new SqlFieldsQuery("CREATE INDEX \"" + IDX_NAME_1 + "\" ON \"" + TBL_NAME + "\"(\"id\" ASC)"));
+ cache.query(new SqlFieldsQuery("CREATE INDEX \"" + IDX_NAME_1_ESCAPED + "\" ON \"" +
+ TBL_NAME_ESCAPED + "\"(\"id\" ASC)"));
}
}, IgniteQueryErrorCode.INDEX_ALREADY_EXISTS);
}
@@ -140,11 +141,11 @@ public abstract class H2DynamicIndexAbstractSelfTest extends AbstractSchemaSelfT
public void testCreateIndexIfNotExists() {
final IgniteCache<KeyClass, ValueClass> cache = cache();
- cache.query(new SqlFieldsQuery("CREATE INDEX \"" + IDX_NAME_1 + "\" ON \"" + TBL_NAME + "\"(\""
- + FIELD_NAME_1 + "\" ASC)"));
+ cache.query(new SqlFieldsQuery("CREATE INDEX \"" + IDX_NAME_1_ESCAPED + "\" ON \"" + TBL_NAME_ESCAPED + "\"(\""
+ + FIELD_NAME_1_ESCAPED + "\" ASC)"));
- cache.query(new SqlFieldsQuery("CREATE INDEX IF NOT EXISTS \"" + IDX_NAME_1 + "\" ON \"" + TBL_NAME +
- "\"(\"id\" ASC)"));
+ cache.query(new SqlFieldsQuery("CREATE INDEX IF NOT EXISTS \"" + IDX_NAME_1_ESCAPED + "\" ON \"" +
+ TBL_NAME_ESCAPED + "\"(\"id\" ASC)"));
}
/**
@@ -155,12 +156,12 @@ public abstract class H2DynamicIndexAbstractSelfTest extends AbstractSchemaSelfT
assertSize(3);
- cache.query(new SqlFieldsQuery("CREATE INDEX \"" + IDX_NAME_1 + "\" ON \"" + TBL_NAME + "\"(\""
- + FIELD_NAME_1 + "\" ASC)"));
+ cache.query(new SqlFieldsQuery("CREATE INDEX \"" + IDX_NAME_1_ESCAPED + "\" ON \"" + TBL_NAME_ESCAPED + "\"(\""
+ + FIELD_NAME_1_ESCAPED + "\" ASC)"));
assertSize(3);
- cache.query(new SqlFieldsQuery("DROP INDEX \"" + IDX_NAME_1 + "\""));
+ cache.query(new SqlFieldsQuery("DROP INDEX \"" + IDX_NAME_1_ESCAPED + "\""));
// Test that no local queries on all nodes use new index.
for (int i = 0 ; i < 4; i++) {
@@ -187,7 +188,7 @@ public abstract class H2DynamicIndexAbstractSelfTest extends AbstractSchemaSelfT
assertSqlException(new RunnableX() {
@Override public void run() throws Exception {
- cache.query(new SqlFieldsQuery("DROP INDEX \"" + IDX_NAME_1 + "\""));
+ cache.query(new SqlFieldsQuery("DROP INDEX \"" + IDX_NAME_1_ESCAPED + "\""));
}
}, IgniteQueryErrorCode.INDEX_NOT_FOUND);
}
@@ -198,7 +199,7 @@ public abstract class H2DynamicIndexAbstractSelfTest extends AbstractSchemaSelfT
public void testDropMissingIndexIfExists() {
final IgniteCache<KeyClass, ValueClass> cache = cache();
- cache.query(new SqlFieldsQuery("DROP INDEX IF EXISTS \"" + IDX_NAME_1 + "\""));
+ cache.query(new SqlFieldsQuery("DROP INDEX IF EXISTS \"" + IDX_NAME_1_ESCAPED + "\""));
}
/**
@@ -209,8 +210,8 @@ public abstract class H2DynamicIndexAbstractSelfTest extends AbstractSchemaSelfT
assertColumnValues("val1", "val2", "val3");
- cache.query(new SqlFieldsQuery("CREATE INDEX \"" + IDX_NAME_1 + "\" ON \"" + TBL_NAME + "\"(\""
- + FIELD_NAME_1 + "\" ASC)"));
+ cache.query(new SqlFieldsQuery("CREATE INDEX \"" + IDX_NAME_1_ESCAPED + "\" ON \"" + TBL_NAME_ESCAPED + "\"(\""
+ + FIELD_NAME_1_ESCAPED + "\" ASC)"));
assertColumnValues("val1", "val2", "val3");
@@ -222,7 +223,7 @@ public abstract class H2DynamicIndexAbstractSelfTest extends AbstractSchemaSelfT
assertColumnValues("someVal", "val1", "val3");
- cache.query(new SqlFieldsQuery("DROP INDEX \"" + IDX_NAME_1 + "\""));
+ cache.query(new SqlFieldsQuery("DROP INDEX \"" + IDX_NAME_1_ESCAPED + "\""));
assertColumnValues("someVal", "val1", "val3");
}
@@ -237,9 +238,8 @@ public abstract class H2DynamicIndexAbstractSelfTest extends AbstractSchemaSelfT
for (String v : vals)
expRes.add(Collections.singletonList(v));
- assertEquals(expRes, cache().query(new SqlFieldsQuery("SELECT \"" + FIELD_NAME_1 + "\" FROM \"" + TBL_NAME +
- "\" ORDER BY \"id\""))
- .getAll());
+ assertEquals(expRes, cache().query(new SqlFieldsQuery("SELECT \"" + FIELD_NAME_1_ESCAPED + "\" FROM \"" +
+ TBL_NAME_ESCAPED + "\" ORDER BY \"id\"")).getAll());
}
/**
@@ -332,12 +332,12 @@ public abstract class H2DynamicIndexAbstractSelfTest extends AbstractSchemaSelfT
entity.setValueType(ValueClass.class.getName());
entity.addQueryField("id", Long.class.getName(), null);
- entity.addQueryField(FIELD_NAME_1, String.class.getName(), null);
- entity.addQueryField(FIELD_NAME_2, String.class.getName(), null);
+ entity.addQueryField(FIELD_NAME_1_ESCAPED, String.class.getName(), null);
+ entity.addQueryField(FIELD_NAME_2_ESCAPED, String.class.getName(), null);
entity.setKeyFields(Collections.singleton("id"));
- entity.setAliases(Collections.singletonMap(FIELD_NAME_2, alias(FIELD_NAME_2)));
+ entity.setAliases(Collections.singletonMap(FIELD_NAME_2_ESCAPED, alias(FIELD_NAME_2_ESCAPED)));
ccfg.setQueryEntities(Collections.singletonList(entity));
http://git-wip-us.apache.org/repos/asf/ignite/blob/427ca690/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/SchemaExchangeSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/SchemaExchangeSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/SchemaExchangeSelfTest.java
index 71244bb..33478a2 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/SchemaExchangeSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/SchemaExchangeSelfTest.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.processors.cache.index;
-import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteClientDisconnectedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.Ignition;
@@ -28,6 +27,7 @@ import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl;
+import org.apache.ignite.internal.processors.query.QueryUtils;
import org.apache.ignite.internal.util.lang.GridAbsPredicate;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.lang.IgniteFuture;
@@ -466,18 +466,21 @@ public class SchemaExchangeSelfTest extends AbstractSchemaSelfTest {
@Override public void run() {
assertTrue(node2.context().clientDisconnected());
- final QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_1));
+ final QueryIndex idx = index(IDX_NAME_1, field(FIELD_NAME_1_ESCAPED));
try {
- queryProcessor(node1).dynamicIndexCreate(CACHE_NAME, CACHE_NAME, TBL_NAME, idx, false).get();
+ dynamicIndexCreate(node1, CACHE_NAME, TBL_NAME, idx, false);
}
- catch (IgniteCheckedException e) {
+ catch (Exception e) {
throw new IgniteException(e);
}
}
});
- assertIndex(CACHE_NAME, TBL_NAME, IDX_NAME_1, field(FIELD_NAME_1));
+ assertIndex(CACHE_NAME,
+ QueryUtils.normalizeObjectName(TBL_NAME, true),
+ QueryUtils.normalizeObjectName(IDX_NAME_1, false),
+ field(QueryUtils.normalizeObjectName(FIELD_NAME_1_ESCAPED, false)));
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/427ca690/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSchemaIndexingTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSchemaIndexingTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSchemaIndexingTest.java
index b79a064..4672290 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSchemaIndexingTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSchemaIndexingTest.java
@@ -93,8 +93,10 @@ public class IgniteSqlSchemaIndexingTest extends GridCommonAbstractTest {
@Override public Object call() throws Exception {
final CacheConfiguration cfg = cacheConfig("InSensitiveCache", true, Integer.class, Integer.class)
.setSqlSchema("InsensitiveCache");
+
final CacheConfiguration collisionCfg = cacheConfig("InsensitiveCache", true, Integer.class, Integer.class)
.setSqlSchema("Insensitivecache");
+
IgniteConfiguration icfg = new IgniteConfiguration()
.setLocalHost("127.0.0.1")
.setCacheConfiguration(cfg, collisionCfg);
@@ -158,7 +160,7 @@ public class IgniteSqlSchemaIndexingTest extends GridCommonAbstractTest {
.setSqlEscapeAll(true);
final CacheConfiguration<Integer, Fact> cfgEsc = cacheConfig("escapedSchema", true, Integer.class, Fact.class)
- .setSqlSchema("\"SchemaName2\"")
+ .setSqlSchema("SchemaName2")
.setSqlEscapeAll(true);
escapeCheckSchemaName(ignite(0).createCache(cfg), log, cfg.getSqlSchema());
http://git-wip-us.apache.org/repos/asf/ignite/blob/427ca690/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
index f98f41b..4bb6a3a 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/IgniteSqlSplitterSelfTest.java
@@ -615,9 +615,9 @@ public class IgniteSqlSplitterSelfTest extends GridCommonAbstractTest {
c1.put(5, new Person2(3, "p3"));
String select = "select o.name n1, p.name n2 from Person2 p, \"org\".Organization o" +
- " where p.orgId = o._key and o._key=1" +
- " union select o.name n1, p.name n2 from Person2 p, \"org\".Organization o" +
- " where p.orgId = o._key and o._key=2";
+ " where p.orgId = o._key and o._key=1" +
+ " union select o.name n1, p.name n2 from Person2 p, \"org\".Organization o" +
+ " where p.orgId = o._key and o._key=2";
String plan = c1.query(new SqlFieldsQuery("explain " + select)
.setDistributedJoins(true).setEnforceJoinOrder(true))
@@ -1615,11 +1615,11 @@ public class IgniteSqlSplitterSelfTest extends GridCommonAbstractTest {
public void testJoinWithSubquery() throws Exception {
IgniteCache<Integer, Contract> c1 = ignite(0).createCache(
cacheConfig("Contract", true,
- Integer.class, Contract.class));
+ Integer.class, Contract.class));
IgniteCache<Integer, PromoContract> c2 = ignite(0).createCache(
cacheConfig("PromoContract", true,
- Integer.class, PromoContract.class));
+ Integer.class, PromoContract.class));
for (int i = 0; i < 100; i++) {
int coId = i % 10;
http://git-wip-us.apache.org/repos/asf/ignite/blob/427ca690/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
index 97db2c4..5ac02a5 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexingSpiAbstractSelfTest.java
@@ -692,6 +692,16 @@ public abstract class GridIndexingSpiAbstractSelfTest extends GridCommonAbstract
@Override public String valueFieldName() {
return null;
}
+
+ /** {@inheritDoc} */
+ @Nullable @Override public String keyFieldAlias() {
+ return null;
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override public String valueFieldAlias() {
+ return null;
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/427ca690/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java
index 1324b72..9a3f64d 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/BaseH2CompareQueryTest.java
@@ -130,7 +130,7 @@ public class BaseH2CompareQueryTest extends AbstractH2CompareQueryTest {
insertInDb(org);
}
- // Adresses.
+ // Adresses.
List<Address> addreses = new ArrayList<>();
for (int i = 0; i < ADDR_CNT; i++) {
@@ -259,13 +259,13 @@ public class BaseH2CompareQueryTest extends AbstractH2CompareQueryTest {
List<List<?>> res = compareQueryRes0(cachePers,
"select avg(old) from \"pers\".Person left join \"addr\".Address " +
- " on Person.addrId = Address.id where lower(Address.street) = lower(?)", addStreet);
+ " on Person.addrId = Address.id where lower(Address.street) = lower(?)", addStreet);
assertNotSame(0, res);
compareQueryRes0(cachePers,
"select avg(old) from \"pers\".Person join \"addr\".Address on Person.addrId = Address.id " +
- "where lower(Address.street) = lower(?)", addStreet);
+ "where lower(Address.street) = lower(?)", addStreet);
compareQueryRes0(cachePers,
"select avg(old) from \"pers\".Person left join \"addr\".Address " +
@@ -274,7 +274,7 @@ public class BaseH2CompareQueryTest extends AbstractH2CompareQueryTest {
compareQueryRes0(cachePers,
"select avg(old) from \"pers\".Person, \"addr\".Address where Person.addrId = Address.id " +
- "and lower(Address.street) = lower(?)", addStreet);
+ "and lower(Address.street) = lower(?)", addStreet);
compareQueryRes0(cachePers, "select firstName, date from \"pers\".Person");
compareQueryRes0(cachePers, "select distinct firstName, date from \"pers\".Person");
@@ -483,8 +483,8 @@ public class BaseH2CompareQueryTest extends AbstractH2CompareQueryTest {
*/
public void testOrdered() throws Exception {
compareOrderedQueryRes0(cachePers, "select firstName, lastName" +
- " from \"pers\".Person" +
- " order by lastName, firstName");
+ " from \"pers\".Person" +
+ " order by lastName, firstName");
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/427ca690/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/H2CompareBigQueryTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/H2CompareBigQueryTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/H2CompareBigQueryTest.java
index 26a0a68..50b71b5 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/H2CompareBigQueryTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/sql/H2CompareBigQueryTest.java
@@ -435,7 +435,7 @@ public class H2CompareBigQueryTest extends AbstractH2CompareQueryTest {
st.setObject(++i, o.orderId);
st.setObject(++i, o.parentAlgo);
- st.executeUpdate();
+ st.executeUpdate();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/427ca690/modules/indexing/src/test/resources/org/apache/ignite/internal/processors/query/h2/sql/bigQuery.sql
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/resources/org/apache/ignite/internal/processors/query/h2/sql/bigQuery.sql b/modules/indexing/src/test/resources/org/apache/ignite/internal/processors/query/h2/sql/bigQuery.sql
index d441e3f..ac70026 100644
--- a/modules/indexing/src/test/resources/org/apache/ignite/internal/processors/query/h2/sql/bigQuery.sql
+++ b/modules/indexing/src/test/resources/org/apache/ignite/internal/processors/query/h2/sql/bigQuery.sql
@@ -21,9 +21,9 @@ from (
from (
select date, orderId, rootOrderId, origOrderId, archSeq, alias
from "custord".CustOrder where alias='CUSTOM'
-
+
union all
-
+
select date, orderId, rootOrderId, refOrderId as origOrderId, archSeq, alias
from "replord".ReplaceOrder where alias='CUSTOM'
) co,
@@ -45,9 +45,9 @@ from (
and h.origOrderId = co.origOrderId and h.date = co.date
and co.archSeq = h.maxArchSeq
and co.alias='CUSTOM'
-) cop
+) cop
inner join (
- select e.date, e.rootOrderId as eRootOrderId, e.rootOrderId, sum(e.execShares) as execShares,
+ select e.date, e.rootOrderId as eRootOrderId, e.rootOrderId, sum(e.execShares) as execShares,
sum(e.execShares*e.price)/sum(e.execShares) as price,
case when min(e.lastMkt) = max(e.lastMkt) then min(e.lastMkt) else min('XOFF') end as execMeet
from "exec".Exec e