@Override public List<Cache.Entry> getAll() { return cursor.getAll(); }
/** * Gets the iterator. * * @return Iterator. */ private Iterator<T> iterator() { if (iterator == null) iterator = cursor.iterator(); return iterator; } }
/** * Close query cursor. */ public void close() { cur.close(); } }
/** * */ @Test public void testDeleteSimple() { IgniteCache p = cache(); QueryCursor<List<?>> c = p.query(new SqlFieldsQuery("delete from Person p where length(p._key) = 2 " + "or p.secondName like '%ite'")); c.iterator(); c = p.query(new SqlFieldsQuery("select _key, _val, * from Person order by id")); List<List<?>> leftovers = c.getAll(); assertEquals(2, leftovers.size()); assertEqualsCollections(Arrays.asList("SecondKey", createPerson(2, "Joe", "Black"), 2, "Joe", "Black"), leftovers.get(0)); assertEqualsCollections(Arrays.asList("f0u4thk3y", createPerson(4, "Jane", "Silver"), 4, "Jane", "Silver"), leftovers.get(1)); }
/** * Tests that Scan queries are executed in dedicated pool * @throws Exception If failed. */ @Test public void testScanQueryUsesDedicatedThreadPool() throws Exception { try (Ignite client = startGrid("client")) { IgniteCache<Integer, Integer> cache = client.cache(CACHE_NAME); cache.put(0, 0); QueryCursor<Cache.Entry<Object, Object>> cursor = cache.query( new ScanQuery<>(new IgniteBiPredicate<Object, Object>() { @Override public boolean apply(Object o, Object o2) { return F.eq(GridIoManager.currentPolicy(), GridIoPolicy.QUERY_POOL); } })); assertEquals(1, cursor.getAll().size()); cursor.close(); } }
/** * Non local SQL Fields check nullification after close */ @Test public void testSqlFieldsQueryClose() { SqlFieldsQuery qry = new SqlFieldsQuery(SELECT_MAX_SAL_SQLF); QueryCursor<List<?>> qryCurs = cache().query(qry); qryCurs.iterator(); qryCurs.close(); H2ResultSetIterator h2It = extractGridIteratorInnerH2ResultSetIterator(qryCurs); checkIterator(h2It); }
/** * */ @Test public void testDeleteSingle() { IgniteCache p = cache(); QueryCursor<List<?>> c = p.query(new SqlFieldsQuery("delete from Person where _key = ?") .setArgs("FirstKey")); c.iterator(); c = p.query(new SqlFieldsQuery("select _key, _val, * from Person order by id, _key")); List<List<?>> leftovers = c.getAll(); assertEquals(3, leftovers.size()); assertEqualsCollections(Arrays.asList("SecondKey", createPerson(2, "Joe", "Black"), 2, "Joe", "Black"), leftovers.get(0)); assertEqualsCollections(Arrays.asList("k3", createPerson(3, "Sylvia", "Green"), 3, "Sylvia", "Green"), leftovers.get(1)); assertEqualsCollections(Arrays.asList("f0u4thk3y", createPerson(4, "Jane", "Silver"), 4, "Jane", "Silver"), leftovers.get(2)); }
/** * Tests that SPI queries are executed in dedicated pool * @throws Exception If failed. */ @Test public void testSpiQueryUsesDedicatedThreadPool() throws Exception { try (Ignite client = startGrid("client")) { IgniteCache<Byte, Byte> cache = client.cache(CACHE_NAME); for (byte b = 0; b < Byte.MAX_VALUE; ++b) cache.put(b, b); QueryCursor<Cache.Entry<Byte, Byte>> cursor = cache.query(new SpiQuery<Byte, Byte>()); List<Cache.Entry<Byte, Byte>> all = cursor.getAll(); assertEquals(1, all.size()); assertEquals(GridIoPolicy.QUERY_POOL, (byte)all.get(0).getValue()); cursor.close(); } }
/** * Local SQL Fields check nullification after close */ @Test public void testSqlFieldsQueryLocalClose() { SqlFieldsQuery qry = new SqlFieldsQuery(SELECT_MAX_SAL_SQLF); qry.setLocal(true); QueryCursor<List<?>> qryCurs = cache().query(qry); qryCurs.iterator(); qryCurs.close(); H2ResultSetIterator h2It = extractGridIteratorInnerH2ResultSetIterator(qryCurs); checkIterator(h2It); }
@Override public Object call() throws Exception { try { cur1.getAll(); } catch (CacheException e) { checkAndWait(e); return true; } return false; } });
/** * In binary mode, this test checks that inner forcing of keepBinary works - without it, EntryProcessors * inside DML engine would compare binary and non-binary objects with the same keys and thus fail. */ @Test public void testDeleteSimpleWithoutKeepBinary() { IgniteCache p = ignite(0).cache("S2P"); QueryCursor<List<?>> c = p.query(new SqlFieldsQuery("delete from Person p where length(p._key) = 2 " + "or p.secondName like '%ite'")); c.iterator(); c = p.query(new SqlFieldsQuery("select _key, _val, * from Person order by id")); List<List<?>> leftovers = c.getAll(); assertEquals(2, leftovers.size()); assertEqualsCollections(Arrays.asList("SecondKey", new Person(2, "Joe", "Black"), 2, "Joe", "Black"), leftovers.get(0)); assertEqualsCollections(Arrays.asList("f0u4thk3y", new Person(4, "Jane", "Silver"), 4, "Jane", "Silver"), leftovers.get(1)); } }
/** * @return Result set iterator. */ public synchronized Iterator getIterator() { assert cur != null; if (itr == null) itr = cur.iterator(); return itr; }
/** * Set error caught during query execution. * * @param err Error caught during query execution. */ public void setError(Throwable err) { this.err = err; if (cur != null) cur.close(); }
/** * Get primary keys for Chromosomes * * @return List of Chromosome primary keys */ List<Long> getPopulationKeys() { String fittestSQL = "select _key from Chromosome"; // Execute query to retrieve keys for ALL Chromosomes QueryCursor<List<?>> cursor = populationCache.query(new SqlFieldsQuery(fittestSQL)); List<List<?>> res = cursor.getAll(); return (List<Long>) res.stream().map(x -> x.get(0)).collect(Collectors.toList()); }
/** * */ @Test public void testUpdateSimple() { IgniteCache p = cache(); QueryCursor<List<?>> c = p.query(new SqlFieldsQuery("update Person p set p.id = p.id * 2, p.firstName = " + "substring(p.firstName, 0, 2) where length(p._key) = ? or p.secondName like ?").setArgs(2, "%ite")); c.iterator(); c = p.query(new SqlFieldsQuery("select _key, _val, * from Person order by _key, id")); List<List<?>> leftovers = c.getAll(); assertEquals(4, leftovers.size()); assertEqualsCollections(Arrays.asList("FirstKey", createPerson(2, "Jo", "White"), 2, "Jo", "White"), leftovers.get(0)); assertEqualsCollections(Arrays.asList("SecondKey", createPerson(2, "Joe", "Black"), 2, "Joe", "Black"), leftovers.get(1)); assertEqualsCollections(Arrays.asList("f0u4thk3y", createPerson(4, "Jane", "Silver"), 4, "Jane", "Silver"), leftovers.get(2)); assertEqualsCollections(Arrays.asList("k3", createPerson(6, "Sy", "Green"), 6, "Sy", "Green"), leftovers.get(3)); }
/** * @param connMgr Connection manager. * @param cur Query cursor. * @param plan Update plan. * @param op Operation. */ private AbstractIterator(ConnectionManager connMgr, QueryCursor<List<?>> cur, UpdatePlan plan, EnlistOperation op) { this.connMgr = connMgr; this.cur = cur; this.plan = plan; this.op = op; it = cur.iterator(); }
/** {@inheritDoc} */ @Override public void close() { cursor.close(); }
/** {@inheritDoc} */ @Override public void run() { cache.query(qry).getAll(); } }
/** * */ @Test public void testUpdateSingle() { IgniteCache p = cache(); QueryCursor<List<?>> c = p.query(new SqlFieldsQuery("update Person p set _val = ? where _key = ?") .setArgs(createPerson(2, "Jo", "White"), "FirstKey")); c.iterator(); c = p.query(new SqlFieldsQuery("select _key, _val, * from Person order by id, _key")); List<List<?>> leftovers = c.getAll(); assertEquals(4, leftovers.size()); assertEqualsCollections(Arrays.asList("FirstKey", createPerson(2, "Jo", "White"), 2, "Jo", "White"), leftovers.get(0)); assertEqualsCollections(Arrays.asList("SecondKey", createPerson(2, "Joe", "Black"), 2, "Joe", "Black"), leftovers.get(1)); assertEqualsCollections(Arrays.asList("k3", createPerson(3, "Sylvia", "Green"), 3, "Sylvia", "Green"), leftovers.get(2)); assertEqualsCollections(Arrays.asList("f0u4thk3y", createPerson(4, "Jane", "Silver"), 4, "Jane", "Silver"), leftovers.get(3)); }
@Override public Iterator<Cache.Entry> iterator() { return cursor.iterator(); }