public static GTScanRequest useDeserializedGTScanRequest(GTScanRequest origin) { ByteBuffer buffer = ByteBuffer.allocate(BytesSerializer.SERIALIZE_BUFFER_SIZE); GTScanRequest.serializer.serialize(origin, buffer); buffer.flip(); GTScanRequest sGTScanRequest = GTScanRequest.serializer.deserialize(buffer); Assert.assertArrayEquals(origin.getAggrMetricsFuncs(), sGTScanRequest.getAggrMetricsFuncs()); Assert.assertEquals(origin.getAggCacheMemThreshold(), sGTScanRequest.getAggCacheMemThreshold(), 0.01); return sGTScanRequest; }
public GTAggregateScanner(IGTScanner input, GTScanRequest req, boolean spillEnabled) { if (!req.hasAggregation()) throw new IllegalStateException(); if (input instanceof GTFilterScanner) { logger.info("setting IGTBypassChecker of child"); ((GTFilterScanner) input).setChecker(this); } else { logger.info("applying a GTFilterScanner with IGTBypassChecker on top child"); input = new GTFilterScanner(input, null, this); } this.inputScanner = input; this.info = this.inputScanner.getInfo(); this.dimensions = req.getDimensions(); this.groupBy = req.getAggrGroupBy(); this.metrics = req.getAggrMetrics(); this.metricsAggrFuncs = req.getAggrMetricsFuncs(); this.measureCodec = req.createMeasureCodec(); this.spillThreshold = (long) (req.getAggCacheMemThreshold() * MemoryBudgetController.ONE_GB); this.aggrMask = new boolean[metricsAggrFuncs.length]; this.storagePushDownLimit = req.getStoragePushDownLimit(); this.storageLimitLevel = req.getStorageLimitLevel(); this.spillEnabled = spillEnabled; this.havingFilter = req.getHavingFilterPushDown(); this.aggrCache = new AggregationCache(); Arrays.fill(aggrMask, true); }
public GTAggregateScanner(IGTScanner input, GTScanRequest req, boolean spillEnabled) { if (!req.hasAggregation()) throw new IllegalStateException(); if (input instanceof GTFilterScanner) { logger.info("setting IGTBypassChecker of child"); ((GTFilterScanner) input).setChecker(this); } else { logger.info("applying a GTFilterScanner with IGTBypassChecker on top child"); input = new GTFilterScanner(input, null, this); } this.inputScanner = input; this.info = this.inputScanner.getInfo(); this.dimensions = req.getDimensions(); this.groupBy = req.getAggrGroupBy(); this.metrics = req.getAggrMetrics(); this.metricsAggrFuncs = req.getAggrMetricsFuncs(); this.measureCodec = req.createMeasureCodec(); this.spillThreshold = (long) (req.getAggCacheMemThreshold() * MemoryBudgetController.ONE_GB); this.aggrMask = new boolean[metricsAggrFuncs.length]; this.storagePushDownLimit = req.getStoragePushDownLimit(); this.storageLimitLevel = req.getStorageLimitLevel(); this.spillEnabled = spillEnabled; this.havingFilter = req.getHavingFilterPushDown(); this.aggrCache = new AggregationCache(); Arrays.fill(aggrMask, true); }