Skip to content

Commit

Permalink
ignite-sql - api changes 2
Browse files Browse the repository at this point in the history
  • Loading branch information
S.Vladykin committed Feb 3, 2015
1 parent 58d01eb commit 31bc98e
Show file tree
Hide file tree
Showing 22 changed files with 48 additions and 90 deletions.
Expand Up @@ -19,7 +19,6 @@

import org.apache.ignite.*;
import org.apache.ignite.cache.*;
import org.apache.ignite.cache.query.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.marshaller.optimized.*;
import org.apache.ignite.spi.discovery.tcp.*;
Expand Down Expand Up @@ -75,7 +74,7 @@ public static IgniteConfiguration configuration() throws IgniteCheckedException
cacheCfg.setPreloadMode(SYNC);
cacheCfg.setAtomicityMode(TRANSACTIONAL);

QueryConfiguration qryCfg = new QueryConfiguration();
CacheQueryConfiguration qryCfg = new CacheQueryConfiguration();

qryCfg.setIndexPrimitiveKey(true);
qryCfg.setIndexFixedTyping(false);
Expand Down
Expand Up @@ -18,7 +18,6 @@
package org.apache.ignite.jdbc;

import org.apache.ignite.cache.*;
import org.apache.ignite.cache.query.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.spi.discovery.tcp.*;
import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
Expand Down Expand Up @@ -55,7 +54,7 @@ public class JdbcLocalCachesSelfTest extends GridCommonAbstractTest {
cache.setCacheMode(LOCAL);
cache.setWriteSynchronizationMode(FULL_SYNC);

QueryConfiguration qryCfg = new QueryConfiguration();
CacheQueryConfiguration qryCfg = new CacheQueryConfiguration();

qryCfg.setIndexPrimitiveKey(true);

Expand Down
17 changes: 0 additions & 17 deletions modules/core/src/main/java/org/apache/ignite/IgniteCache.java
Expand Up @@ -209,23 +209,6 @@ public interface IgniteCache<K, V> extends javax.cache.Cache<K, V>, IgniteAsyncS
*/
public QueryCursor<Entry<K, V>> query(QueryPredicate filter);

/**
* Queries configured indexing SPI with given predicate.
*
* @param filter Filter.
* @return Cursor.
*/
public <Z> QueryCursor<Z> querySpi(QuerySpiPredicate filter);

/**
* Queries cache with given predicate with remote reducer.
*
* @param rmtRdc Remote reducer.
* @param filter Filter.
* @return Cursor.
*/
public <R> QueryCursor<R> query(IgniteReducer<Entry<K, V>, R> rmtRdc, QueryPredicate filter);

/**
* Queries separate entry fields with given SQL predicate.
*
Expand Down
Expand Up @@ -22,7 +22,6 @@
import org.apache.ignite.cache.affinity.*;
import org.apache.ignite.cache.cloner.*;
import org.apache.ignite.cache.eviction.*;
import org.apache.ignite.cache.query.*;
import org.apache.ignite.cache.store.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.portables.PortableObject;
Expand Down Expand Up @@ -336,7 +335,7 @@ public class CacheConfiguration extends MutableConfiguration {
private boolean keepPortableInStore = true;

/** Query configuration. */
private QueryConfiguration qryCfg;
private CacheQueryConfiguration qryCfg;

/**
* Flag indicating whether data can be read from backup.
Expand Down Expand Up @@ -1756,7 +1755,7 @@ public void setKeepPortableInStore(boolean keepPortableInStore) {
*
* @return Cache query configuration.
*/
public QueryConfiguration getQueryConfiguration() {
public CacheQueryConfiguration getQueryConfiguration() {
return qryCfg;
}

Expand All @@ -1766,7 +1765,7 @@ public QueryConfiguration getQueryConfiguration() {
* @param qryCfg Query configuration.
* @see org.apache.ignite.cache.query.QueryConfiguration
*/
public void setQueryConfiguration(QueryConfiguration qryCfg) {
public void setQueryConfiguration(CacheQueryConfiguration qryCfg) {
this.qryCfg = qryCfg;
}

Expand Down
Expand Up @@ -15,15 +15,17 @@
* limitations under the License.
*/

package org.apache.ignite.cache.query;
package org.apache.ignite.configuration;

import org.apache.ignite.cache.query.*;

import java.io.*;
import java.util.*;

/**
* Query configuration object.
* Configuration for embedded indexing facilities.
*/
public class QueryConfiguration implements Serializable {
public class CacheQueryConfiguration implements Serializable {
/** */
private static final long serialVersionUID = 0L;

Expand Down Expand Up @@ -51,14 +53,14 @@ public class QueryConfiguration implements Serializable {
/**
* Default constructor.
*/
public QueryConfiguration() {
public CacheQueryConfiguration() {
// No-op.
}

/**
* @param cfg Configuration to copy.
*/
public QueryConfiguration(QueryConfiguration cfg) {
public CacheQueryConfiguration(CacheQueryConfiguration cfg) {
typeMeta = cfg.getTypeMetadata();
typeRslvr = cfg.getTypeResolver();
idxPrimitiveKey = cfg.isIndexPrimitiveKey();
Expand Down
Expand Up @@ -261,40 +261,21 @@ public GridCacheContext<K, V> context() {
return null;
}

throw new IgniteException("Unsupported query predicate: " + filter);
}
finally {
gate.leave(prev);
}
}
if (filter instanceof QuerySpiPredicate) {
CacheQueryFuture<Object> res = ((GridCacheQueriesEx)delegate.queries()).createSpiQuery()
.execute(((QuerySpiPredicate)filter).getArgs());

/** {@inheritDoc} */
@Override public <Z> QueryCursor<Z> querySpi(QuerySpiPredicate filter) {
A.notNull(filter, "filter");

GridCacheProjectionImpl<K, V> prev = gate.enter(prj);

try {
CacheQueryFuture<Object> res = ((GridCacheQueriesEx)delegate.queries()).createSpiQuery()
.execute(filter.getArgs());
// TODO convert to QueryCursor.
return null;
}

// TODO convert to QueryCursor.
return null;
throw new IgniteException("Unsupported query predicate: " + filter);
}
finally {
gate.leave(prev);
}
}

/** {@inheritDoc} */
@Override public <R> QueryCursor<R> query(IgniteReducer<Entry<K,V>,R> rmtRdc, QueryPredicate filter) {
A.notNull(filter, "filter");
A.notNull(rmtRdc, "rmtRdc");

// TODO implement
return null;
}

/** {@inheritDoc} */
@Override public QueryCursor<List<?>> queryFields(QuerySqlPredicate filter) {
A.notNull(filter, "filter");
Expand Down
Expand Up @@ -21,9 +21,9 @@
import org.apache.ignite.cache.query.*;
import org.apache.ignite.internal.*;
import org.apache.ignite.internal.processors.cache.query.*;
import org.apache.ignite.internal.util.lang.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.spi.indexing.*;
import org.apache.ignite.internal.util.lang.*;
import org.jetbrains.annotations.*;

import java.util.*;
Expand Down
Expand Up @@ -21,19 +21,20 @@
import org.apache.ignite.cache.*;
import org.apache.ignite.cache.query.*;
import org.apache.ignite.cache.query.annotations.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.internal.*;
import org.apache.ignite.internal.processors.*;
import org.apache.ignite.internal.processors.cache.query.*;
import org.apache.ignite.internal.util.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.portables.*;
import org.apache.ignite.spi.indexing.*;
import org.apache.ignite.internal.util.future.*;
import org.apache.ignite.internal.util.lang.*;
import org.apache.ignite.internal.util.tostring.*;
import org.apache.ignite.internal.util.typedef.*;
import org.apache.ignite.internal.util.typedef.internal.*;
import org.apache.ignite.internal.util.worker.*;
import org.apache.ignite.lang.*;
import org.apache.ignite.portables.*;
import org.apache.ignite.spi.indexing.*;
import org.jdk8.backport.*;
import org.jetbrains.annotations.*;

Expand Down Expand Up @@ -103,7 +104,7 @@ public GridQueryProcessor(GridKernalContext ctx) throws IgniteCheckedException {
idx.start(ctx);

for (CacheConfiguration ccfg : ctx.config().getCacheConfiguration()){
QueryConfiguration qryCfg = ccfg.getQueryConfiguration();
CacheQueryConfiguration qryCfg = ccfg.getQueryConfiguration();

if (qryCfg != null) {
if (!F.isEmpty(qryCfg.getTypeMetadata())) {
Expand Down Expand Up @@ -534,7 +535,7 @@ private String portableName(int typeId) {
portableIds = new HashMap<>();

for (CacheConfiguration ccfg : ctx.config().getCacheConfiguration()){
QueryConfiguration qryCfg = ccfg.getQueryConfiguration();
CacheQueryConfiguration qryCfg = ccfg.getQueryConfiguration();

if (qryCfg != null) {
for (QueryTypeMetadata meta : qryCfg.getTypeMetadata())
Expand All @@ -560,7 +561,7 @@ private String portableName(int typeId) {
declaredTypesById = new HashMap<>();

for (CacheConfiguration ccfg : ctx.config().getCacheConfiguration()){
QueryConfiguration qryCfg = ccfg.getQueryConfiguration();
CacheQueryConfiguration qryCfg = ccfg.getQueryConfiguration();

if (qryCfg != null) {
for (QueryTypeMetadata meta : qryCfg.getTypeMetadata())
Expand Down
Expand Up @@ -20,6 +20,7 @@
import org.apache.ignite.spi.*;
import org.jetbrains.annotations.*;

import javax.cache.*;
import java.util.*;

/**
Expand Down Expand Up @@ -67,7 +68,7 @@ public interface GridIndexingSpi extends IgniteSpi {
* @return Query result.
* @throws IgniteSpiException If failed.
*/
public Iterator<?> query(@Nullable String spaceName, Collection<Object> params,
public Iterator<Cache.Entry<?,?>> query(@Nullable String spaceName, Collection<Object> params,
@Nullable GridIndexingQueryFilter filters) throws IgniteSpiException;

/**
Expand Down
Expand Up @@ -20,6 +20,7 @@
import org.apache.ignite.spi.*;
import org.jetbrains.annotations.*;

import javax.cache.*;
import java.util.*;

/**
Expand All @@ -28,7 +29,7 @@
@IgniteSpiNoop
public class GridNoopIndexingSpi extends IgniteSpiAdapter implements GridIndexingSpi {
/** {@inheritDoc} */
@Override public Iterator<?> query(@Nullable String spaceName, Collection<Object> params,
@Override public Iterator<Cache.Entry<?,?>> query(@Nullable String spaceName, Collection<Object> params,
@Nullable GridIndexingQueryFilter filters) throws IgniteSpiException {
throw new IgniteSpiException("You have to configure custom GridIndexingSpi implementation.");
}
Expand Down
Expand Up @@ -601,7 +601,8 @@ public void forceFail(boolean fail) {
}

/** {@inheritDoc} */
@Override public Iterator<?> query(@Nullable String spaceName, Collection<Object> params, @Nullable GridIndexingQueryFilter filters) throws IgniteSpiException {
@Override public Iterator<Cache.Entry<?,?>> query(@Nullable String spaceName, Collection<Object> params,
@Nullable GridIndexingQueryFilter filters) throws IgniteSpiException {
throw new UnsupportedOperationException();
}

Expand Down
Expand Up @@ -1330,7 +1330,7 @@ private void createSqlFunctions() throws SQLException, IgniteCheckedException {
* @return {@code true} If primitive keys must be indexed.
*/
public boolean isIndexPrimitiveKey(@Nullable String spaceName) {
QueryConfiguration cfg = cacheQueryConfiguration(spaceName);
CacheQueryConfiguration cfg = cacheQueryConfiguration(spaceName);

return cfg != null && cfg.isIndexPrimitiveKey();
}
Expand All @@ -1340,21 +1340,21 @@ public boolean isIndexPrimitiveKey(@Nullable String spaceName) {
* @return {@code true} If primitive values must be indexed.
*/
public boolean isIndexPrimitiveValue(String spaceName) {
QueryConfiguration cfg = cacheQueryConfiguration(spaceName);
CacheQueryConfiguration cfg = cacheQueryConfiguration(spaceName);

return cfg != null && cfg.isIndexPrimitiveValue();
}

/** {@inheritDoc} */
public boolean isIndexFixedTyping(String spaceName) {
QueryConfiguration cfg = cacheQueryConfiguration(spaceName);
CacheQueryConfiguration cfg = cacheQueryConfiguration(spaceName);

return cfg != null && cfg.isIndexFixedTyping();
}

/** {@inheritDoc} */
public boolean isEscapeAll(String spaceName) {
QueryConfiguration cfg = cacheQueryConfiguration(spaceName);
CacheQueryConfiguration cfg = cacheQueryConfiguration(spaceName);

return cfg != null && cfg.isEscapeAll();
}
Expand All @@ -1363,7 +1363,7 @@ public boolean isEscapeAll(String spaceName) {
* @param spaceName Space name.
* @return Cache query configuration.
*/
@Nullable private QueryConfiguration cacheQueryConfiguration(String spaceName) {
@Nullable private CacheQueryConfiguration cacheQueryConfiguration(String spaceName) {
return ctx == null ? null : ctx.cache().internalCache(spaceName).configuration().getQueryConfiguration();
}

Expand Down
Expand Up @@ -20,7 +20,6 @@
import org.apache.ignite.*;
import org.apache.ignite.cache.*;
import org.apache.ignite.cache.affinity.*;
import org.apache.ignite.cache.query.*;
import org.apache.ignite.cache.query.annotations.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.internal.processors.cache.query.*;
Expand Down Expand Up @@ -94,7 +93,7 @@ protected CacheConfiguration cache(@Nullable String name, @Nullable String spiNa
cache.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
cache.setPreloadMode(SYNC);

QueryConfiguration qcfg = new QueryConfiguration();
CacheQueryConfiguration qcfg = new CacheQueryConfiguration();

qcfg.setIndexPrimitiveKey(true);
qcfg.setIndexPrimitiveValue(true);
Expand Down
Expand Up @@ -19,7 +19,6 @@

import org.apache.ignite.*;
import org.apache.ignite.cache.*;
import org.apache.ignite.cache.query.*;
import org.apache.ignite.cache.query.annotations.*;
import org.apache.ignite.cache.store.*;
import org.apache.ignite.configuration.*;
Expand Down Expand Up @@ -138,7 +137,7 @@ protected CacheDistributionMode distributionMode() {
cc.setSwapEnabled(true);
cc.setEvictNearSynchronized(false);

QueryConfiguration qcfg = new QueryConfiguration();
CacheQueryConfiguration qcfg = new CacheQueryConfiguration();

qcfg.setIndexPrimitiveKey(true);
qcfg.setIndexFixedTyping(true);
Expand Down
Expand Up @@ -19,7 +19,6 @@

import org.apache.ignite.*;
import org.apache.ignite.cache.*;
import org.apache.ignite.cache.query.*;
import org.apache.ignite.configuration.*;
import org.apache.ignite.events.*;
import org.apache.ignite.internal.*;
Expand Down Expand Up @@ -136,7 +135,7 @@ public class GridCacheOffHeapAndSwapSelfTest extends GridCommonAbstractTest {

cacheCfg.setEvictionPolicy(null);

QueryConfiguration qcfg = new QueryConfiguration();
CacheQueryConfiguration qcfg = new CacheQueryConfiguration();

qcfg.setIndexPrimitiveKey(true);
qcfg.setIndexPrimitiveValue(true);
Expand Down
Expand Up @@ -69,7 +69,7 @@ public class GridCacheQueryMetricsSelfTest extends GridCommonAbstractTest {
cacheCfg.setCacheMode(CACHE_MODE);
cacheCfg.setWriteSynchronizationMode(FULL_SYNC);

QueryConfiguration qcfg = new QueryConfiguration();
CacheQueryConfiguration qcfg = new CacheQueryConfiguration();

qcfg.setIndexPrimitiveKey(true);

Expand Down

0 comments on commit 31bc98e

Please sign in to comment.