@Override public ITupleIterator search(final StorageContext context, final SQLDigest sqlDigest, final TupleInfo returnTupleInfo) { List<ITupleIterator> tupleIterators = Lists.newArrayList(); for (int i = 0; i < realizations.length; i++) { if (realizations[i].isReady() && realizations[i].isCapable(sqlDigest).capable) { ITupleIterator dataIterator = storageEngines[i].search(context, sqlDigest, returnTupleInfo); tupleIterators.add(dataIterator); } } // combine tuple iterator return new CompoundTupleIterator(tupleIterators); }
private ITupleIterator queryStorage() { logger.debug("query storage..."); // bind dynamic variables olapContext.bindVariable(optiqContext); olapContext.resetSQLDigest(); SQLDigest sqlDigest = olapContext.getSQLDigest(); // query storage engine IStorageQuery storageEngine = StorageFactory.createQuery(olapContext.realization); ITupleIterator iterator = storageEngine.search(olapContext.storageContext, sqlDigest, olapContext.returnTupleInfo); if (logger.isDebugEnabled()) { logger.debug("return TupleIterator..."); } return iterator; }
@Override public ITupleIterator search(final StorageContext context, final SQLDigest sqlDigest, final TupleInfo returnTupleInfo) { List<ITupleIterator> tupleIterators = Lists.newArrayList(); for (int i = 0; i < realizations.length; i++) { if (realizations[i].isReady() && realizations[i].isCapable(sqlDigest).capable) { ITupleIterator dataIterator = storageEngines[i].search(context, sqlDigest, returnTupleInfo); tupleIterators.add(dataIterator); } } // combine tuple iterator return new CompoundTupleIterator(tupleIterators); }
private ITupleIterator queryStorage() { logger.debug("query storage..."); // bind dynamic variables olapContext.bindVariable(optiqContext); olapContext.resetSQLDigest(); SQLDigest sqlDigest = olapContext.getSQLDigest(); // query storage engine IStorageQuery storageEngine = StorageFactory.createQuery(olapContext.realization); ITupleIterator iterator = storageEngine.search(olapContext.storageContext, sqlDigest, olapContext.returnTupleInfo); if (logger.isDebugEnabled()) { logger.debug("return TupleIterator..."); } return iterator; }