@Override public Long getEstimateInfoTimestamp() throws SQLException { if (isSerial) { return serialEstimateInfoTs; } return super.getEstimateInfoTimestamp(); } }
@Override public Long getEstimatedBytesToScan() throws SQLException { if (isSerial) { return serialBytesEstimate; } return super.getEstimatedBytesToScan(); }
@Override public Long getEstimatedRowsToScan() throws SQLException { if (isSerial) { return serialRowsEstimate; } return super.getEstimatedRowsToScan(); }
@Override public ExplainPlan getExplainPlan() throws SQLException { if (context.getScanRanges() == ScanRanges.NOTHING) { return new ExplainPlan(Collections.singletonList("DEGENERATE SCAN OVER " + getTableRef().getTable().getName().getString())); } ResultIterator iterator = iterator(); ExplainPlan explainPlan = new ExplainPlan(getPlanSteps(iterator)); iterator.close(); return explainPlan; }
if (scanRanges == ScanRanges.NOTHING && !getStatement().isAggregate()) { return getWrappedIterator(caches, ResultIterator.EMPTY_ITERATOR); return newIterator(scanGrouper, scan, caches); PTable dataTable = dataTableRef.getTable(); serializeDataTableColumnsToJoin(scan, dataColumns, dataTable); KeyValueSchema schema = ProjectedColumnExpression.buildSchema(dataColumns); serializeSchemaIntoScan(scan, schema); serializeIndexMaintainerIntoScan(scan, dataTable); serializeViewConstantsIntoScan(scan, dataTable); ResultIterator iterator = newIterator(scanGrouper, scan, caches); if (LOG.isDebugEnabled()) { LOG.debug(LogUtil.addCustomAnnotations("Iterator ready: " + iterator, connection)); "Creating basic query for " + getPlanSteps(iterator)); if (scope.getSpan() != null) return new TracingIterator(scope, iterator);
@Override public final ResultIterator iterator(ParallelScanGrouper scanGrouper) throws SQLException { return iterator(scanGrouper, null); }
@Override public Long getEstimateInfoTimestamp() throws SQLException { if (!getEstimatesCalled) { getEstimates(); } return estimateInfoTimestamp; }
if (scanRanges == ScanRanges.NOTHING && !getStatement().isAggregate()) { return getWrappedIterator(caches, ResultIterator.EMPTY_ITERATOR); return newIterator(scanGrouper, scan, caches); PTable dataTable = dataTableRef.getTable(); serializeDataTableColumnsToJoin(scan, dataColumns, dataTable); KeyValueSchema schema = ProjectedColumnExpression.buildSchema(dataColumns); serializeSchemaIntoScan(scan, schema); serializeIndexMaintainerIntoScan(scan, dataTable); serializeViewConstantsIntoScan(scan, dataTable); ResultIterator iterator = newIterator(scanGrouper, scan, caches); if (LOG.isDebugEnabled()) { LOG.debug(LogUtil.addCustomAnnotations("Iterator ready: " + iterator, connection)); + getPlanSteps(iterator)); return (scope.getSpan() != null) ? new TracingIterator(scope, iterator) : iterator;
@Override public ExplainPlan getExplainPlan() throws SQLException { if (context.getScanRanges() == ScanRanges.NOTHING) { return new ExplainPlan(Collections.singletonList("DEGENERATE SCAN OVER " + getTableRef().getTable().getName().getString())); } ResultIterator iterator = iterator(); ExplainPlan explainPlan = new ExplainPlan(getPlanSteps(iterator)); iterator.close(); return explainPlan; }
@Override public final ResultIterator iterator(ParallelScanGrouper scanGrouper, Scan scan) throws SQLException { return iterator(Collections.<ImmutableBytesPtr,ServerCache>emptyMap(), scanGrouper, scan); }
@Override public Long getEstimatedBytesToScan() throws SQLException { if (!getEstimatesCalled) { getEstimates(); } return estimatedSize; }
if (scanRanges == ScanRanges.NOTHING && !getStatement().isAggregate()) { return getWrappedIterator(caches, ResultIterator.EMPTY_ITERATOR); return newIterator(scanGrouper, scan, caches); PTable dataTable = dataTableRef.getTable(); serializeDataTableColumnsToJoin(scan, dataColumns, dataTable); KeyValueSchema schema = ProjectedColumnExpression.buildSchema(dataColumns); serializeSchemaIntoScan(scan, schema); serializeIndexMaintainerIntoScan(scan, dataTable); serializeViewConstantsIntoScan(scan, dataTable); ResultIterator iterator = newIterator(scanGrouper, scan, caches); if (LOG.isDebugEnabled()) { LOG.debug(LogUtil.addCustomAnnotations("Iterator ready: " + iterator, connection)); + getPlanSteps(iterator)); return (scope.getSpan() != null) ? new TracingIterator(scope, iterator) : iterator;
@Override public ExplainPlan getExplainPlan() throws SQLException { if (context.getScanRanges() == ScanRanges.NOTHING) { return new ExplainPlan(Collections.singletonList("DEGENERATE SCAN OVER " + getTableRef().getTable().getName().getString())); } ResultIterator iterator = iterator(); ExplainPlan explainPlan = new ExplainPlan(getPlanSteps(iterator)); iterator.close(); return explainPlan; }
private void getEstimates() throws SQLException { getEstimatesCalled = true; // Initialize a dummy iterator to get the estimates based on stats. ResultIterator iterator = iterator(); iterator.close(); } }
@Override public Long getEstimatedRowsToScan() throws SQLException { if (!getEstimatesCalled) { getEstimates(); } return estimatedRows; }
@Override public Long getEstimatedBytesToScan() throws SQLException { if (isSerial) { return serialBytesEstimate; } return super.getEstimatedBytesToScan(); }
@Override public Long getEstimateInfoTimestamp() throws SQLException { if (isSerial) { return serialEstimateInfoTs; } return super.getEstimateInfoTimestamp(); } }
@Override public Long getEstimatedRowsToScan() throws SQLException { if (isSerial) { return serialRowsEstimate; } return super.getEstimatedRowsToScan(); }
@Override public final ResultIterator iterator() throws SQLException { return iterator(DefaultParallelScanGrouper.getInstance()); }
@Override public Long getEstimatedRowsToScan() throws SQLException { if (!getEstimatesCalled) { getEstimates(); } return estimatedRows; }