Skip to content

Commit 808f8cb

Browse files
committed
fix
1 parent 16ca903 commit 808f8cb

3 files changed

Lines changed: 10 additions & 3 deletions

File tree

tsl/src/nodes/vector_agg/exec.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ vector_slot_evaluate_case(DecompressContext *dcontext, TupleTableSlot *slot,
544544
slot,
545545
branch_filter,
546546
value_expression,
547-
branch_filter == batch_state->vector_qual_result ?
547+
branch_filter == top_filter ?
548548
expr_cache :
549549
NULL);
550550

@@ -665,8 +665,6 @@ vector_slot_evaluate_expression(DecompressContext *dcontext, TupleTableSlot *slo
665665
* broader result is safe to cache, because it has the correct values
666666
* for all rows of a narrower result.
667667
*/
668-
Assert(filter == ((const DecompressBatchState *) slot)->vector_qual_result);
669-
670668
cache_entry = expr_cache_lookup(expr_cache, (Expr *) argument);
671669
}
672670

tsl/test/expected/vector_agg_expr.out

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2114,6 +2114,12 @@ select sum((b = (i > 0))::int), count(b = (i > 0)) from aggexpr;
21142114
-----+-------
21152115
814 | 5421
21162116

2117+
-- Multiple qual evaluation with caching.
2118+
select sum(abs(v - 500)), count(abs(v - 500)) from aggexpr where abs(v) > 3 AND abs(v) < 9;
2119+
sum | count
2120+
-------+-------
2121+
14820 | 30
2122+
21172123
reset timescaledb.debug_require_vector_agg;
21182124
reset timescaledb.enable_vectorized_aggregation;
21192125
-- Some CASE statements are vectorized.

tsl/test/sql/vector_agg_expr.sql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,9 @@ select sum(abs(v - 500)), count(abs(v - 500)), min(abs(v - 500)) from aggexpr;
222222
-- the int4 cast consumes it via compressed_columns_to_postgres_data.
223223
select sum((b = (i > 0))::int), count(b = (i > 0)) from aggexpr;
224224

225+
-- Multiple qual evaluation with caching.
226+
select sum(abs(v - 500)), count(abs(v - 500)) from aggexpr where abs(v) > 3 AND abs(v) < 9;
227+
225228
reset timescaledb.debug_require_vector_agg;
226229
reset timescaledb.enable_vectorized_aggregation;
227230

0 commit comments

Comments
 (0)