CacheEntry cacheEntry = schemaCache.get(q); if (cacheEntry != null) { if ((cacheEntry.getLastOffset() - start >= 100000) || (start - cacheEntry.getLastOffset() >= 10000)) { QueryNode firstOrderBy = null; firstOrderBy = (QueryNode) q.getEffectiveOrderBy().iterator().next(); cacheEntry.setLast(start, sql); SortedMap<Integer, String> headMap = cacheEntry.getCached() .headMap(new Integer(start + 1)); Integer lastKey = null; String sql = generate(q, schema, db, offsetConstraint, QUERY_NORMAL, bagTableNames); if (cacheEntry == null) { cacheEntry = new CacheEntry(start, sql); schemaCache.put(q, cacheEntry); cacheEntry.getCached().put(new Integer(start), sql);
CacheEntry cacheEntry = schemaCache.get(q); if (cacheEntry != null) { if ((cacheEntry.getLastOffset() - start >= 100000) || (start - cacheEntry.getLastOffset() >= 10000)) { QueryNode firstOrderBy = null; firstOrderBy = (QueryNode) q.getEffectiveOrderBy().iterator().next(); cacheEntry.setLast(start, sql); SortedMap<Integer, String> headMap = cacheEntry.getCached() .headMap(new Integer(start + 1)); Integer lastKey = null; String sql = generate(q, schema, db, offsetConstraint, QUERY_NORMAL, bagTableNames); if (cacheEntry == null) { cacheEntry = new CacheEntry(start, sql); schemaCache.put(q, cacheEntry); cacheEntry.getCached().put(new Integer(start), sql);
CacheEntry cacheEntry = schemaCache.get(q); if (cacheEntry != null) { SortedMap<Integer, String> headMap = cacheEntry.getCached() .headMap(new Integer(start + 1)); Integer lastKey = null; if ((offset > cacheEntry.getLastOffset()) || (cacheEntry.getLastOffset() > start)) { return cacheEntry.getCached().get(lastKey) + (limit == Integer.MAX_VALUE ? "" : " LIMIT " + limit) + (start == offset ? "" : " OFFSET " + (start - offset)); } else { return cacheEntry.getLastSQL() + (limit == Integer.MAX_VALUE ? "" : " LIMIT " + limit) + (start == cacheEntry.getLastOffset() ? "" : " OFFSET " + (start - cacheEntry.getLastOffset()));
CacheEntry cacheEntry = schemaCache.get(q); if (cacheEntry != null) { SortedMap<Integer, String> headMap = cacheEntry.getCached() .headMap(new Integer(start + 1)); Integer lastKey = null; if ((offset > cacheEntry.getLastOffset()) || (cacheEntry.getLastOffset() > start)) { return cacheEntry.getCached().get(lastKey) + (limit == Integer.MAX_VALUE ? "" : " LIMIT " + limit) + (start == offset ? "" : " OFFSET " + (start - offset)); } else { return cacheEntry.getLastSQL() + (limit == Integer.MAX_VALUE ? "" : " LIMIT " + limit) + (start == cacheEntry.getLastOffset() ? "" : " OFFSET " + (start - cacheEntry.getLastOffset()));