public RowProcessingStream getStream(final Table table) { final Set<RowProcessingStream> dataStreams = _rowProcessingPublishers.keySet(); for (final RowProcessingStream stream : dataStreams) { // first try with object equality because tables may be equal in // some corner cases if (stream.getTable() == table) { return stream; } } for (final RowProcessingStream stream : dataStreams) { if (table.equals(stream.getTable())) { return stream; } } return null; }
@Override public String toString() { return getTable().getName(); } }
@Override public Table getTable() { return _publisher.getStream().getTable(); }
private Table getTable() { return getStream().getTable(); }
/** * * @return * * @deprecated use {@link #getStreams()} instead */ @Deprecated public Table[] getTables() { final RowProcessingStream[] streams = getStreams(); final Table[] tables = new Table[streams.length]; for (int i = 0; i < tables.length; i++) { tables[i] = streams[i].getTable(); } return tables; }
@Override protected RowProcessingQueryOptimizer getQueryOptimizer() { final Table table = getStream().getTable(); final Query q = new Query().from(table).select(table.getColumns()); return new NoopRowProcessingQueryOptimizer(q, getConsumersSorted()); } }