/** */ private SqlFieldsQuery query(String sql, boolean replicatedOnly) { SqlFieldsQuery qry = new SqlFieldsQuery(sql); if (replicatedOnly) qry.setReplicatedOnly(true); return qry; }
private SqlFieldsQuery sqlFieldsQuery(String sql) { SqlFieldsQuery qry = new SqlFieldsQuery(sql); if (isReplicatedOnly()) qry.setReplicatedOnly(true); return qry; }
/** * Test different query modes. */ @Test public void testQueryModes() throws Exception { Ignite ignite = startGrid(0); startGrid(1); UUID nodeId = ignite.cluster().localNode().id(); IgniteCache cache = ignite.getOrCreateCache(DEFAULT_CACHE_NAME); String sql = "SELECT ID FROM IGNITE.NODES WHERE NODE_ORDER = 1"; SqlFieldsQuery qry; qry = new SqlFieldsQuery(sql).setDistributedJoins(true); assertEquals(nodeId, ((List<?>)cache.query(qry).getAll().get(0)).get(0)); qry = new SqlFieldsQuery(sql).setReplicatedOnly(true); assertEquals(nodeId, ((List<?>)cache.query(qry).getAll().get(0)).get(0)); qry = new SqlFieldsQuery(sql).setLocal(true); assertEquals(nodeId, ((List<?>)cache.query(qry).getAll().get(0)).get(0)); }
qry.setCollocated(arg.isCollocated()); qry.setEnforceJoinOrder(arg.isEnforceJoinOrder()); qry.setReplicatedOnly(arg.isReplicatedOnly()); qry.setLazy(arg.getLazy());
/** * @param firstCacheMode First cache mode. * @param secondCacheMode Second cache mode. * @param replicatedOnly Replicated only query flag. * @param loc Local query flag. */ private void createCachesAndExecuteQuery(TestCacheMode firstCacheMode, TestCacheMode secondCacheMode, boolean replicatedOnly, boolean loc) { Ignite node = ignite(0); node.createCache(cacheConfig(PERSON_CAHE_NAME, firstCacheMode, Integer.class, Person.class)); node.createCache(cacheConfig(ORG_CACHE_NAME, secondCacheMode, Integer.class, Organization.class)); IgniteCache<Integer, Person> c = node.cache(PERSON_CAHE_NAME); c.query(new SqlFieldsQuery(SELECT).setReplicatedOnly(replicatedOnly).setLocal(loc)).getAll(); }
/** * Reads fields query. * * @param reader Binary reader. * @return Query. */ private Query readFieldsQuery(BinaryRawReaderEx reader) { boolean loc = reader.readBoolean(); String sql = reader.readString(); final int pageSize = reader.readInt(); Object[] args = readQueryArgs(reader); boolean distrJoins = reader.readBoolean(); boolean enforceJoinOrder = reader.readBoolean(); boolean lazy = reader.readBoolean(); int timeout = reader.readInt(); boolean replicated = reader.readBoolean(); boolean collocated = reader.readBoolean(); String schema = reader.readString(); return new SqlFieldsQuery(sql) .setPageSize(pageSize) .setArgs(args) .setLocal(loc) .setDistributedJoins(distrJoins) .setEnforceJoinOrder(enforceJoinOrder) .setLazy(lazy) .setTimeout(timeout, TimeUnit.MILLISECONDS) .setReplicatedOnly(replicated) .setCollocated(collocated) .setSchema(schema); }
/** {@inheritDoc} */ @SuppressWarnings("deprecation") @Override public SqlFieldsQuery generateFieldsQuery(String cacheName, SqlQuery qry) { String schemaName = schema(cacheName); String type = qry.getType(); H2TableDescriptor tblDesc = schemaMgr.tableForType(schemaName, cacheName, type); if (tblDesc == null) throw new IgniteSQLException("Failed to find SQL table for type: " + type, IgniteQueryErrorCode.TABLE_NOT_FOUND); String sql; try { sql = H2Utils.generateFieldsQueryString(qry.getSql(), qry.getAlias(), tblDesc); } catch (IgniteCheckedException e) { throw new IgniteException(e); } SqlFieldsQuery res = new SqlFieldsQuery(sql); res.setArgs(qry.getArgs()); res.setDistributedJoins(qry.isDistributedJoins()); res.setLocal(qry.isLocal()); res.setPageSize(qry.getPageSize()); res.setPartitions(qry.getPartitions()); res.setReplicatedOnly(qry.isReplicatedOnly()); res.setSchema(schemaName); res.setSql(sql); res.setDataPageScanEnabled(qry.isDataPageScanEnabled()); if (qry.getTimeout() > 0) res.setTimeout(qry.getTimeout(), TimeUnit.MILLISECONDS); return res; }
.setDistributedJoins(distributedJoins) .setLocal(loc) .setReplicatedOnly(replicatedOnly) .setEnforceJoinOrder(enforceJoinOrder) .setCollocated(collocated)
qry.setCollocated(arg.isCollocated()); qry.setEnforceJoinOrder(arg.isEnforceJoinOrder()); qry.setReplicatedOnly(arg.isReplicatedOnly()); qry.setLazy(arg.getLazy());
/** * Reads fields query. * * @param reader Binary reader. * @return Query. */ private Query readFieldsQuery(BinaryRawReaderEx reader) { boolean loc = reader.readBoolean(); String sql = reader.readString(); final int pageSize = reader.readInt(); Object[] args = readQueryArgs(reader); boolean distrJoins = reader.readBoolean(); boolean enforceJoinOrder = reader.readBoolean(); boolean lazy = reader.readBoolean(); int timeout = reader.readInt(); boolean replicated = reader.readBoolean(); boolean collocated = reader.readBoolean(); String schema = reader.readString(); return new SqlFieldsQuery(sql) .setPageSize(pageSize) .setArgs(args) .setLocal(loc) .setDistributedJoins(distrJoins) .setEnforceJoinOrder(enforceJoinOrder) .setLazy(lazy) .setTimeout(timeout, TimeUnit.MILLISECONDS) .setReplicatedOnly(replicated) .setCollocated(collocated) .setSchema(schema); }
.setDistributedJoins(distributedJoins) .setLocal(loc) .setReplicatedOnly(replicatedOnly) .setEnforceJoinOrder(enforceJoinOrder) .setCollocated(collocated)