Skip to content

Commit

Permalink
Fix MergeAggregate load meta (#1212)
Browse files Browse the repository at this point in the history
### What problem does this PR solve?
Should provide empty load meta info for MergeAggregate node

Issue link:#1211

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
- [x] Test cases
  • Loading branch information
yangzq50 authored May 16, 2024
1 parent 24404a5 commit a8adb5c
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 2 deletions.
3 changes: 1 addition & 2 deletions src/executor/physical_planner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -577,8 +577,7 @@ UniquePtr<PhysicalOperator> PhysicalPlanner::BuildAggregate(const SharedPtr<Logi
std::move(physical_agg_op),
logical_aggregate->GetOutputNames(),
logical_aggregate->GetOutputTypes(),
logical_operator->load_metas());
// TODO: replace merge op load metas with MakeShared<Vector<LoadMeta>>() ?
MakeShared<Vector<LoadMeta>>());
}
}

Expand Down
97 changes: 97 additions & 0 deletions test/sql/dql/aggregate/test_agg_load_meta.slt
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
statement ok
DROP TABLE IF EXISTS test_agg_load_meta;

statement ok
CREATE TABLE test_agg_load_meta (c1 INTEGER, c2 INTEGER, c3 INTEGER);

query I
EXPLAIN SELECT COUNT(*) FROM test_agg_load_meta WHERE c2 = 5;
----
PROJECT (5)
- table index: #4
- expressions: [count(star) (#0)]
-> Merge aggregate (7)
- output columns: [COUNT(c1)]
-> AGGREGATE (4)
- aggregate table index: #3
- aggregate: [COUNT(c1 (#1))]
-> FILTER (3)
- filter: CAST(c2 (#0) AS BigInt) = 5
- output columns: [c2, __rowid]
-> TABLE SCAN (2)
- table name: test_agg_load_meta(default_db.test_agg_load_meta)
- table index: #1
- output_columns: [c2, __rowid]

query I
SELECT COUNT(*) FROM test_agg_load_meta WHERE c2 = 5;
----
0

statement ok
COPY test_agg_load_meta FROM '/var/infinity/test_data/basic.csv' WITH ( DELIMITER ',' );

query I
EXPLAIN SELECT COUNT(*) FROM test_agg_load_meta WHERE c2 = 5;
----
PROJECT (5)
- table index: #4
- expressions: [count(star) (#0)]
-> AGGREGATE (4)
- aggregate table index: #3
- aggregate: [COUNT(c1 (#1))]
-> FILTER (3)
- filter: CAST(c2 (#0) AS BigInt) = 5
- output columns: [c2, __rowid]
-> TABLE SCAN (2)
- table name: test_agg_load_meta(default_db.test_agg_load_meta)
- table index: #1
- output_columns: [c2, __rowid]

query I
SELECT COUNT(*) FROM test_agg_load_meta WHERE c2 = 5;
----
2

statement ok
COPY test_agg_load_meta FROM '/var/infinity/test_data/basic.csv' WITH ( DELIMITER ',' );

query I
EXPLAIN SELECT COUNT(*) FROM test_agg_load_meta WHERE c2 = 5;
----
PROJECT (5)
- table index: #4
- expressions: [count(star) (#0)]
-> Merge aggregate (7)
- output columns: [COUNT(c1)]
-> AGGREGATE (4)
- aggregate table index: #3
- aggregate: [COUNT(c1 (#1))]
-> FILTER (3)
- filter: CAST(c2 (#0) AS BigInt) = 5
- output columns: [c2, __rowid]
-> TABLE SCAN (2)
- table name: test_agg_load_meta(default_db.test_agg_load_meta)
- table index: #1
- output_columns: [c2, __rowid]

query I
SELECT COUNT(*) FROM test_agg_load_meta WHERE c2 = 5;
----
4

statement ok
DELETE FROM test_agg_load_meta WHERE c2 = 5;

query I
SELECT COUNT(*) FROM test_agg_load_meta WHERE c2 = 5;
----
0

query I
SELECT COUNT(*) FROM test_agg_load_meta;
----
6

statement ok
DROP TABLE test_agg_load_meta;

0 comments on commit a8adb5c

Please sign in to comment.