1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

MCOL-5522 Properly process pm join result count. (#2909)

This patch:
1. Properly processes situation when pm join result count is exceeded.
2. Adds session variable 'columnstore_max_pm_join_result_count` to control the limit.
This commit is contained in:
Denis Khalikov
2023-08-04 16:55:45 +03:00
committed by GitHub
parent 4f580d109d
commit 896e8dd769
17 changed files with 144 additions and 60 deletions

View File

@ -0,0 +1,36 @@
DROP DATABASE IF EXISTS mcol_5522;
CREATE DATABASE mcol_5522;
USE mcol_5522;
create table t1 (a int) engine=columnstore;
create table t2 (a int) engine=columnstore;
insert into t1 values (1), (2), (3), (4);
insert into t2 values (1), (2), (3), (4);
create table t3 (a varchar(200)) engine=columnstore;
create table t4 (a varchar(200)) engine=columnstore;
insert into t3 values ("one"), ("two"), ("three");
insert into t4 values ("one"), ("two"), ("three");
set session columnstore_max_pm_join_result_count=1;
select * from t1, t2 where t1.a = t2.a;
a a
1 1
2 2
3 3
4 4
select * from t3, t4 where t3.a = t4.a;
a a
one one
two two
three three
set session columnstore_max_pm_join_result_count=1048576;
select * from t1, t2 where t1.a = t2.a;
a a
1 1
2 2
3 3
4 4
select * from t3, t4 where t3.a = t4.a;
a a
one one
two two
three three
DROP DATABASE mcol_5522;

View File

@ -0,0 +1,29 @@
--source ../include/have_columnstore.inc
--disable_warnings
DROP DATABASE IF EXISTS mcol_5522;
--enable_warnings
CREATE DATABASE mcol_5522;
USE mcol_5522;
create table t1 (a int) engine=columnstore;
create table t2 (a int) engine=columnstore;
insert into t1 values (1), (2), (3), (4);
insert into t2 values (1), (2), (3), (4);
create table t3 (a varchar(200)) engine=columnstore;
create table t4 (a varchar(200)) engine=columnstore;
insert into t3 values ("one"), ("two"), ("three");
insert into t4 values ("one"), ("two"), ("three");
set session columnstore_max_pm_join_result_count=1;
select * from t1, t2 where t1.a = t2.a;
select * from t3, t4 where t3.a = t4.a;
set session columnstore_max_pm_join_result_count=1048576;
select * from t1, t2 where t1.a = t2.a;
select * from t3, t4 where t3.a = t4.a;
--disable_warnings
DROP DATABASE mcol_5522;
--enable_warnings