@Override public Future<?> vacuumTablesAsync( ConcurrentLinkedQueue<AnalyticsTablePartition> partitions ) { return ConcurrentUtils.getImmediateFuture(); } }
@Override public Future<?> applyAggregationLevels( ConcurrentLinkedQueue<AnalyticsTablePartition> partitions, Collection<String> dataElements, int aggregationLevel ) { return ConcurrentUtils.getImmediateFuture(); }
@Override @Async public Future<?> vacuumTablesAsync( ConcurrentLinkedQueue<AnalyticsTablePartition> tables ) { return ConcurrentUtils.getImmediateFuture(); }
@Override @Async public Future<?> applyAggregationLevels( ConcurrentLinkedQueue<AnalyticsTablePartition> partitions, Collection<String> dataElements, int aggregationLevel ) { return ConcurrentUtils.getImmediateFuture(); }
@Override @Async public Future<?> vacuumTablesAsync( ConcurrentLinkedQueue<AnalyticsTablePartition> partitions ) { return ConcurrentUtils.getImmediateFuture(); } }
@Override @Async public Future<?> vacuumTablesAsync( ConcurrentLinkedQueue<AnalyticsTablePartition> partitions ) { return ConcurrentUtils.getImmediateFuture(); } }
@Override @Async public Future<?> applyAggregationLevels( ConcurrentLinkedQueue<AnalyticsTablePartition> partitions, Collection<String> dataElements, int aggregationLevel ) { return ConcurrentUtils.getImmediateFuture(); }
@Override @Async public Future<?> applyAggregationLevels( ConcurrentLinkedQueue<AnalyticsTablePartition> partitions, Collection<String> dataElements, int aggregationLevel ) { return ConcurrentUtils.getImmediateFuture(); }
@Override @Async public Future<?> applyAggregationLevels( ConcurrentLinkedQueue<AnalyticsTablePartition> partitions, Collection<String> dataElements, int aggregationLevel ) { return ConcurrentUtils.getImmediateFuture(); }
@Override @Async public Future<?> vacuumTablesAsync( ConcurrentLinkedQueue<AnalyticsTablePartition> partitions ) { return ConcurrentUtils.getImmediateFuture(); } }
@Override @Async public Future<?> vacuumTablesAsync( ConcurrentLinkedQueue<AnalyticsTablePartition> partitions ) { taskLoop: while ( true ) { AnalyticsTablePartition partition = partitions.poll(); if ( partition == null ) { break taskLoop; } final String sql = statementBuilder.getVacuum( partition.getTempTableName() ); log.debug( "Vacuum SQL: " + sql ); jdbcTemplate.execute( sql ); } return ConcurrentUtils.getImmediateFuture(); }
@Override @Async public Future<?> applyAggregationLevels( ConcurrentLinkedQueue<AnalyticsTablePartition> partitions, Collection<String> dataElements, int aggregationLevel ) { taskLoop: while ( true ) { AnalyticsTablePartition partition = partitions.poll(); if ( partition == null ) { break taskLoop; } StringBuilder sql = new StringBuilder( "update " + partition.getTempTableName() + " set " ); for ( int i = 0; i < aggregationLevel; i++ ) { int level = i + 1; String column = quote( DataQueryParams.LEVEL_PREFIX + level ); sql.append( column + " = null," ); } sql.deleteCharAt( sql.length() - ",".length() ); sql.append( " where level > " + aggregationLevel ); sql.append( " and dx in (" + getQuotedCommaDelimitedString( dataElements ) + ")" ); log.debug( "Aggregation level SQL: " + sql.toString() ); jdbcTemplate.execute( sql.toString() ); } return ConcurrentUtils.getImmediateFuture(); }