Repository: ignite Updated Branches: refs/heads/ignite-5075-pds 815a92f6e -> f0656bb43
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
