ignite-sql-tests - wip
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/8ce64bad Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/8ce64bad Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/8ce64bad Branch: refs/heads/ignite-sql-tests Commit: 8ce64bad6fded2c26b42424e25cf29cfe5d7630c Parents: e19aa7c Author: S.Vladykin <svlady...@gridgain.com> Authored: Fri Feb 13 18:21:06 2015 +0300 Committer: S.Vladykin <svlady...@gridgain.com> Committed: Fri Feb 13 18:21:06 2015 +0300 ---------------------------------------------------------------------- .../configuration/CacheQueryConfiguration.java | 23 ++++++++++++++++++++ .../processors/query/GridQueryProcessor.java | 11 +++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8ce64bad/modules/core/src/main/java/org/apache/ignite/configuration/CacheQueryConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/CacheQueryConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/CacheQueryConfiguration.java index 99683e6..4508e45 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/CacheQueryConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/CacheQueryConfiguration.java @@ -18,8 +18,10 @@ package org.apache.ignite.configuration; import org.apache.ignite.cache.query.*; +import org.apache.ignite.lang.*; import java.io.*; +import java.util.*; /** * Configuration for embedded indexing facilities. @@ -46,6 +48,9 @@ public class CacheQueryConfiguration implements Serializable { /** */ private int pageSize = 1000; + /** */ + private Collection<IgniteBiTuple<Class<?>, Class<?>>> annotatedEntryTypes; + /** * Default constructor. */ @@ -200,4 +205,22 @@ public class CacheQueryConfiguration implements Serializable { public void setPageSize(int pageSize) { this.pageSize = pageSize; } + + /** + * Gets annotates types for cache entries to be indexed as SQL table for this cache. + * + * @return Annotates types. + */ + public Collection<IgniteBiTuple<Class<?>,Class<?>>> getAnnotatedEntryTypes() { + return annotatedEntryTypes; + } + + /** + * Gets annotates types for cache entries to be indexed as SQL table for this cache. + * + * @param annotatedEntryTypes Annotates types. + */ + public void setAnnotatedEntryTypes(Collection<IgniteBiTuple<Class<?>,Class<?>>> annotatedEntryTypes) { + this.annotatedEntryTypes = annotatedEntryTypes; + } } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/8ce64bad/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java index e983656..80f53c6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java @@ -123,8 +123,17 @@ public class GridQueryProcessor extends GridProcessorAdapter { typesByName.put(new TypeName(ccfg.getName(), desc.name()), desc); types.put(new TypeId(ccfg.getName(), valTypeId), desc); } + } + + if (qryCfg != null && !F.isEmpty(qryCfg.getAnnotatedEntryTypes())) { + for (IgniteBiTuple<Class<?>,Class<?>> types : qryCfg.getAnnotatedEntryTypes()) { + TypeDescriptor desc = processKeyAndValue(ccfg.getName(), types.getKey(), types.getValue(), + declaredTypes); + + desc.registered(idx.registerType(ccfg.getName(), desc)); -// processKeyAndValue(ccfg.getName()) + typesByName.put(new TypeName(ccfg.getName(), desc.name()), desc); + } } }