You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
feat(MCOL-5886): support InnoDB's table partitions in cross-engine joins
The purpose of this changeset is to obtain list of partitions from SELECT_LEX structure and pass it down to joblist and then to CrossEngineStep to pass to InnoDB.
This commit is contained in:
committed by
Sergey Zefirov
parent
b731c0a326
commit
bd1622f331
@ -0,0 +1,15 @@
|
||||
DROP DATABASE IF EXISTS MCOL5886;
|
||||
CREATE DATABASE MCOL5886;
|
||||
USE MCOL5886;
|
||||
CREATE USER IF NOT EXISTS'cejuser'@'localhost' IDENTIFIED BY 'Vagrant1|0000001';
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'cejuser'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
CREATE TABLE t1( a DECIMAL(12, 2), b int ) ENGINE=innodb PARTITION BY KEY(b,a) PARTITIONS 4;
|
||||
INSERT INTO t1 SELECT seq, seq/10 FROM seq_1_to_100;
|
||||
CREATE TABLE IF NOT EXISTS t2 ( a DECIMAL(12, 2), b int ) ENGINE=COLUMNSTORE;
|
||||
SELECT COUNT(*) FROM (SELECT * FROM t1 PARTITION (p0)) tt;
|
||||
COUNT(*)
|
||||
20
|
||||
SELECT COUNT(*) FROM (SELECT * FROM t2 UNION ALL SELECT * FROM t1 PARTITION (p0)) tt;
|
||||
COUNT(*)
|
||||
20
|
@ -0,0 +1,24 @@
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS MCOL5886;
|
||||
--enable_warnings
|
||||
CREATE DATABASE MCOL5886;
|
||||
USE MCOL5886;
|
||||
|
||||
--exec $MCS_MCSSETCONFIG CrossEngineSupport User 'cejuser'
|
||||
--exec $MCS_MCSSETCONFIG CrossEngineSupport Password 'Vagrant1|0000001'
|
||||
|
||||
--disable_warnings
|
||||
CREATE USER IF NOT EXISTS'cejuser'@'localhost' IDENTIFIED BY 'Vagrant1|0000001';
|
||||
--enable_warnings
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'cejuser'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
|
||||
CREATE TABLE t1( a DECIMAL(12, 2), b int ) ENGINE=innodb PARTITION BY KEY(b,a) PARTITIONS 4;
|
||||
INSERT INTO t1 SELECT seq, seq/10 FROM seq_1_to_100;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS t2 ( a DECIMAL(12, 2), b int ) ENGINE=COLUMNSTORE;
|
||||
|
||||
SELECT COUNT(*) FROM (SELECT * FROM t1 PARTITION (p0)) tt;
|
||||
|
||||
SELECT COUNT(*) FROM (SELECT * FROM t2 UNION ALL SELECT * FROM t1 PARTITION (p0)) tt;
|
||||
|
Reference in New Issue
Block a user