if(query.isHasAgg() && !query.isTimeSeries()) { recordMapper = (RecordMapper<E>) new AggreagteRecordMapper(query, jdbcEntityDefinition); }else{ result = peer.delegate().doSelect(criteria, recordMapper); LOG.info(String.format("Read %s records in %s ms (sql: %s)",result.size(),stopWatch.getTime(),displaySql)); if(result.size() > 0 && query.isTimeSeries()){ result = Lists.newArrayList((E) timeseriesAggregate(result, query));
if(query.isHasAgg() && !query.isTimeSeries()) { recordMapper = (RecordMapper<E>) new AggreagteRecordMapper(query, jdbcEntityDefinition); }else{ result = peer.delegate().doSelect(criteria, recordMapper); LOG.info(String.format("Read %s records in %s ms (sql: %s)",result.size(),stopWatch.getTime(),displaySql)); if(result.size() > 0 && query.isTimeSeries()){ result = Lists.newArrayList((E) timeseriesAggregate(result, query));
if(this.jdbcEntityDefinition.getInternal().isTimeSeries() && query.isTimeSeries()) { if(query.isHasAgg() && !query.isTimeSeries()){ for(String groupByField:query.getGroupByFields()){ root.addGroupByColumn(new ColumnImpl(this.tableName,groupByField));
if(this.jdbcEntityDefinition.getInternal().isTimeSeries() && query.isTimeSeries()) { if(query.isHasAgg() && !query.isTimeSeries()){ for(String groupByField:query.getGroupByFields()){ root.addGroupByColumn(new ColumnImpl(this.tableName,groupByField));
@Test public void testCreatedCompiledQuery() throws QueryCompileException, IOException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery(queryStr); rawQuery.setStartTime(startTime); rawQuery.setEndTime(endTime); rawQuery.setPageSize(pageSize); CompiledQuery query = new CompiledQuery(rawQuery); Assert.assertEquals(baseTimestamp, query.getStartTime()); Assert.assertEquals(baseTimestamp + 2000, query.getEndTime()); Assert.assertEquals(rawQuery.isTreeAgg(), query.isHasAgg()); Assert.assertEquals(rawQuery.isTimeSeries(), query.isTimeSeries()); RawQuery raw2 = RawQuery.build().query(queryStr).startTime(startTime) .endTime(endTime).pageSize(pageSize).done(); Assert.assertEquals(rawQuery.toString(), raw2.toString()); } }