Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id C498E200CD7 for ; Tue, 1 Aug 2017 12:37:06 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id C0496166DE9; Tue, 1 Aug 2017 10:37:06 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 30C3F166DC8 for ; Tue, 1 Aug 2017 12:37:04 +0200 (CEST) Received: (qmail 97619 invoked by uid 500); 1 Aug 2017 10:37:03 -0000 Mailing-List: contact commits-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list commits@ignite.apache.org Received: (qmail 97274 invoked by uid 99); 1 Aug 2017 10:37:03 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Aug 2017 10:37:03 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 8FC72F32A7; Tue, 1 Aug 2017 10:37:02 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.apache.org Date: Tue, 01 Aug 2017 10:37:25 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [25/49] ignite git commit: IGNITE-5448 - Fixed IgniteH2Indexing::tables implementation - Fixes #2254. archived-at: Tue, 01 Aug 2017 10:37:06 -0000 IGNITE-5448 - Fixed IgniteH2Indexing::tables implementation - Fixes #2254. Signed-off-by: Alexey Goncharuk Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/99584fed Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/99584fed Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/99584fed Branch: refs/heads/ignite-5578 Commit: 99584fedfa79edaced02625a92e84362fc436f1c Parents: 1ea2da9 Author: Alexander Paschenko Authored: Fri Jul 28 14:44:34 2017 +0300 Committer: Alexey Goncharuk Committed: Fri Jul 28 14:44:34 2017 +0300 ---------------------------------------------------------------------- .../processors/query/h2/IgniteH2Indexing.java | 21 ++++++++----- .../cache/index/H2DynamicTableSelfTest.java | 32 ++++++++++++++++++++ 2 files changed, 46 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/99584fed/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java ---------------------------------------------------------------------- diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java index 40eae17..007eeb1 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java @@ -66,14 +66,14 @@ import org.apache.ignite.internal.processors.cache.CacheObjectValueContext; import org.apache.ignite.internal.processors.cache.GridCacheAdapter; import org.apache.ignite.internal.processors.cache.GridCacheAffinityManager; import org.apache.ignite.internal.processors.cache.GridCacheContext; +import org.apache.ignite.internal.processors.cache.GridCacheEntryEx; +import org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException; import org.apache.ignite.internal.processors.cache.GridCacheSharedContext; import org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManager; import org.apache.ignite.internal.processors.cache.KeyCacheObject; -import org.apache.ignite.internal.processors.cache.GridCacheEntryEx; -import org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException; import org.apache.ignite.internal.processors.cache.QueryCursorImpl; -import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO; import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtInvalidPartitionException; +import org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO; import org.apache.ignite.internal.processors.cache.query.CacheQueryPartitionInfo; import org.apache.ignite.internal.processors.cache.query.GridCacheQueryMarshallable; import org.apache.ignite.internal.processors.cache.query.GridCacheTwoStepQuery; @@ -92,14 +92,14 @@ import org.apache.ignite.internal.processors.query.GridRunningQueryInfo; import org.apache.ignite.internal.processors.query.IgniteSQLException; import org.apache.ignite.internal.processors.query.QueryIndexDescriptorImpl; import org.apache.ignite.internal.processors.query.QueryUtils; -import org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor; -import org.apache.ignite.internal.processors.query.h2.opt.DistributedJoinMode; import org.apache.ignite.internal.processors.query.h2.database.H2RowFactory; import org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex; import org.apache.ignite.internal.processors.query.h2.database.io.H2ExtrasInnerIO; import org.apache.ignite.internal.processors.query.h2.database.io.H2ExtrasLeafIO; import org.apache.ignite.internal.processors.query.h2.database.io.H2InnerIO; import org.apache.ignite.internal.processors.query.h2.database.io.H2LeafIO; +import org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor; +import org.apache.ignite.internal.processors.query.h2.opt.DistributedJoinMode; import org.apache.ignite.internal.processors.query.h2.opt.GridH2DefaultTableEngine; import org.apache.ignite.internal.processors.query.h2.opt.GridH2IndexBase; import org.apache.ignite.internal.processors.query.h2.opt.GridH2QueryContext; @@ -1687,7 +1687,7 @@ public class IgniteH2Indexing implements GridQueryIndexing { } /** {@inheritDoc} */ - @Override public String schema(String cacheName) { + @Override public String schema(String cacheName) { String res = cacheName2schema.get(cacheName); if (res == null) @@ -1708,7 +1708,14 @@ public class IgniteH2Indexing implements GridQueryIndexing { if (s == null) return Collections.emptySet(); - return s.tables(); + List tbls = new ArrayList<>(); + + for (H2TableDescriptor tbl : s.tables()) { + if (F.eq(tbl.cache().name(), cacheName)) + tbls.add(tbl); + } + + return tbls; } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/99584fed/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 b0e69f1..d737a0f 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 @@ -47,6 +47,7 @@ import org.apache.ignite.internal.processors.query.GridQueryTypeDescriptor; import org.apache.ignite.internal.processors.query.IgniteSQLException; import org.apache.ignite.internal.processors.query.QueryTypeDescriptorImpl; import org.apache.ignite.internal.processors.query.QueryUtils; +import org.apache.ignite.internal.processors.query.h2.H2TableDescriptor; import org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing; import org.apache.ignite.internal.processors.query.h2.ddl.DdlStatementsProcessor; import org.apache.ignite.internal.processors.query.h2.opt.GridH2Table; @@ -834,6 +835,37 @@ public class H2DynamicTableSelfTest extends AbstractSchemaSelfTest { } /** + * Test that {@link IgniteH2Indexing#tables(String)} method + * only returns tables belonging to given cache. + * + * @throws Exception if failed. + */ + public void testGetTablesForCache() throws Exception { + try { + execute("create table t1(id int primary key, name varchar)"); + execute("create table t2(id int primary key, name varchar)"); + + IgniteH2Indexing h2Idx = (IgniteH2Indexing)grid(0).context().query().getIndexing(); + + String cacheName = cacheName("T1"); + + Collection col = GridTestUtils.invoke(h2Idx, "tables", cacheName); + + assertNotNull(col); + + H2TableDescriptor[] tables = col.toArray(new H2TableDescriptor[col.size()]); + + assertEquals(1, tables.length); + + assertEquals(tables[0].table().getName(), "T1"); + } + finally { + execute("drop table t1 if exists"); + execute("drop table t2 if exists"); + } + } + + /** * Execute DDL statement on client node. * * @param sql Statement.