void addIndex(List<ElementSymbol> indexColumns, boolean unique) throws TeiidComponentException, TeiidProcessingException { List<ElementSymbol> keyColumns = columns.subList(0, tree.getKeyLength()); if (keyColumns.equals(indexColumns) || (indexTables != null && indexTables.containsKey(indexColumns))) { return; } TempTable indexTable = createIndexTable(indexColumns, unique); //TODO: ordered insert optimization TupleSource ts = createTupleSource(indexTable.getColumns(), null, null); indexTable.insert(ts, indexTable.getColumns(), false, false, null); indexTable.getTree().compact(); }
void addIndex(List<ElementSymbol> indexColumns, boolean unique) throws TeiidComponentException, TeiidProcessingException { List<ElementSymbol> keyColumns = columns.subList(0, tree.getKeyLength()); if (keyColumns.equals(indexColumns) || (indexTables != null && indexTables.containsKey(indexColumns))) { return; } TempTable indexTable = createIndexTable(indexColumns, unique); //TODO: ordered insert optimization TupleSource ts = createTupleSource(indexTable.getColumns(), null, null); indexTable.insert(ts, indexTable.getColumns(), false, false, null); indexTable.getTree().compact(); }
void addIndex(List<ElementSymbol> indexColumns, boolean unique) throws TeiidComponentException, TeiidProcessingException { List<ElementSymbol> keyColumns = columns.subList(0, tree.getKeyLength()); if (keyColumns.equals(indexColumns) || (indexTables != null && indexTables.containsKey(indexColumns))) { return; } TempTable indexTable = createIndexTable(indexColumns, unique); //TODO: ordered insert optimization TupleSource ts = createTupleSource(indexTable.getColumns(), null, null); indexTable.insert(ts, indexTable.getColumns(), false, false, null); indexTable.getTree().compact(); }
return ii.table.createTupleSource(projectedCols, condition, orderBy, ii, agg); primary.valueTs = ii.table.createTupleSource(pkColumns, ii.coveredCriteria, orderBy, ii, agg); primary.ordering = null; return createTupleSource(projectedCols, ii.nonCoveredCriteria, null, primary, agg); pkOrderBy.addVariable(elementSymbol); primary.valueTs = ii.table.createTupleSource(pkColumns, ii.coveredCriteria, pkOrderBy, ii, agg); return createTupleSource(projectedCols, ii.nonCoveredCriteria, orderBy, primary, agg); return createTupleSource(projectedCols, condition, orderBy, ii, agg);
return ii.table.createTupleSource(projectedCols, condition, orderBy, ii, agg); primary.valueTs = ii.table.createTupleSource(pkColumns, ii.coveredCriteria, orderBy, ii, agg); primary.ordering = null; return createTupleSource(projectedCols, ii.nonCoveredCriteria, null, primary, agg); pkOrderBy.addVariable(elementSymbol); primary.valueTs = ii.table.createTupleSource(pkColumns, ii.coveredCriteria, pkOrderBy, ii, agg); return createTupleSource(projectedCols, ii.nonCoveredCriteria, orderBy, primary, agg); return createTupleSource(projectedCols, condition, orderBy, ii, agg);
return ii.table.createTupleSource(projectedCols, condition, orderBy, ii, agg); primary.valueTs = ii.table.createTupleSource(pkColumns, ii.coveredCriteria, orderBy, ii, agg); primary.ordering = null; return createTupleSource(projectedCols, ii.nonCoveredCriteria, null, primary, agg); pkOrderBy.addVariable(elementSymbol); primary.valueTs = ii.table.createTupleSource(pkColumns, ii.coveredCriteria, pkOrderBy, ii, agg); return createTupleSource(projectedCols, ii.nonCoveredCriteria, orderBy, primary, agg); return createTupleSource(projectedCols, condition, orderBy, ii, agg);
@Override protected TupleSource createTupleSource() throws TeiidComponentException, TeiidProcessingException { TempTableStore tts = contextStore; TempTable tt = tts.getOrCreateTempTable(tableName, query, bufferManager, true, false, context, group); if (context.getDataObjects() != null) { Object id = RelationalPlanner.getTrackableGroup(group, context.getMetadata()); if (id != null) { context.accessedDataObject(id); } } return tt.createTupleSource(query.getProjectedSymbols(), query.getCriteria(), query.getOrderBy()); } };
@Override protected TupleSource createTupleSource() throws TeiidComponentException, TeiidProcessingException { TempTableStore tts = contextStore; TempTable tt = tts.getOrCreateTempTable(tableName, query, bufferManager, true, false, context, group); if (context.getDataObjects() != null) { Object id = RelationalPlanner.getTrackableGroup(group, context.getMetadata()); if (id != null) { context.accessedDataObject(id); } } if (context.isParallel() && query.getCriteria() == null && query.getOrderBy() != null && tt.getRowCount() > MIN_ASYNCH_SIZE) { return new AsyncTupleSource(new Callable<TupleSource>() { @Override public TupleSource call() throws Exception { synchronized (this) { return tt.createTupleSource(query.getProjectedSymbols(), query.getCriteria(), query.getOrderBy()); } } }, context); } return tt.createTupleSource(query.getProjectedSymbols(), query.getCriteria(), query.getOrderBy()); } };
@Override protected TupleSource createTupleSource() throws TeiidComponentException, TeiidProcessingException { TempTableStore tts = contextStore; TempTable tt = tts.getOrCreateTempTable(tableName, query, bufferManager, true, false, context, group); if (context.getDataObjects() != null) { Object id = RelationalPlanner.getTrackableGroup(group, context.getMetadata()); if (id != null) { context.accessedDataObject(id); } } if (context.isParallel() && query.getCriteria() == null && query.getOrderBy() != null && tt.getRowCount() > MIN_ASYNCH_SIZE) { return new AsyncTupleSource(new Callable<TupleSource>() { @Override public TupleSource call() throws Exception { synchronized (this) { return tt.createTupleSource(query.getProjectedSymbols(), query.getCriteria(), query.getOrderBy()); } } }, context); } return tt.createTupleSource(query.getProjectedSymbols(), query.getCriteria(), query.getOrderBy()); } };
TupleSource result = table.createTupleSource(query.getProjectedSymbols(), query.getCriteria(), query.getOrderBy()); cancelMoreWork(); return result;
TupleSource result = table.createTupleSource(query.getProjectedSymbols(), query.getCriteria(), query.getOrderBy()); cancelMoreWork(); return result;
TupleSource result = table.createTupleSource(query.getProjectedSymbols(), query.getCriteria(), query.getOrderBy()); cancelMoreWork(); return result;