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

fix(plugin) MCOL-5699: throw error for unimplemented INTERSECT and EXCEPT (#3219)

This commit is contained in:
Leonid Fedorov
2024-06-27 14:20:23 +04:00
committed by GitHub
parent 6c6fa7d5a4
commit 1b31fd3bdb
3 changed files with 103 additions and 0 deletions

View File

@ -0,0 +1,43 @@
DROP DATABASE IF EXISTS mcol_5699 ;
CREATE DATABASE mcol_5699 ;
USE mcol_5699 ;
CREATE TABLE cs1(a text) ENGINE=columnstore;
INSERT INTO cs1 VALUES('a'),('b'),('c'),('x');
CREATE TABLE cs2(a text) ENGINE=columnstore;
INSERT INTO cs2 VALUES('y'),('z'),('x');
CREATE TABLE cs3(a text) ENGINE=columnstore;
INSERT INTO cs3 VALUES('r'),('t'),('z');
SELECT a from cs1 UNION ALL select a from cs2;
a
a
b
c
x
x
y
z
SELECT a from cs1 UNION DISTINCT select a from cs2;
a
a
b
c
x
y
z
SELECT a from cs1 INTERSECT ALL select a from cs2;
ERROR HY000: Internal error: INTERSECT is not supported by Columnstore engine
SELECT a from cs1 INTERSECT DISTINCT select a from cs2;
ERROR HY000: Internal error: INTERSECT is not supported by Columnstore engine
SELECT a from cs1 EXCEPT ALL select a from cs2;
ERROR HY000: Internal error: EXCEPT is not supported by Columnstore engine
SELECT a from cs1 EXCEPT DISTINCT select a from cs2;
ERROR HY000: Internal error: EXCEPT is not supported by Columnstore engine
SELECT a from cs1 UNION select a from cs2 INTERSECT ALL select a from cs3;
ERROR HY000: Internal error: INTERSECT is not supported by Columnstore engine
SELECT a from cs1 UNION select a from cs2 INTERSECT DISTINCT select a from cs3;
ERROR HY000: Internal error: INTERSECT is not supported by Columnstore engine
SELECT a from cs1 UNION select a from cs2 EXCEPT ALL select a from cs3;
ERROR HY000: Internal error: EXCEPT is not supported by Columnstore engine
SELECT a from cs1 UNION select a from cs2 EXCEPT DISTINCT select a from cs3;
ERROR HY000: Internal error: EXCEPT is not supported by Columnstore engine
DROP DATABASE mcol_5699 ;

View File

@ -0,0 +1,40 @@
--source ../include/have_columnstore.inc
--disable_warnings
DROP DATABASE IF EXISTS mcol_5699 ;
--enable_warnings
CREATE DATABASE mcol_5699 ;
USE mcol_5699 ;
CREATE TABLE cs1(a text) ENGINE=columnstore;
INSERT INTO cs1 VALUES('a'),('b'),('c'),('x');
CREATE TABLE cs2(a text) ENGINE=columnstore;
INSERT INTO cs2 VALUES('y'),('z'),('x');
CREATE TABLE cs3(a text) ENGINE=columnstore;
INSERT INTO cs3 VALUES('r'),('t'),('z');
--sorted_result
SELECT a from cs1 UNION ALL select a from cs2;
--sorted_result
SELECT a from cs1 UNION DISTINCT select a from cs2;
--ERROR 1815
SELECT a from cs1 INTERSECT ALL select a from cs2;
--ERROR 1815
SELECT a from cs1 INTERSECT DISTINCT select a from cs2;
--ERROR 1815
SELECT a from cs1 EXCEPT ALL select a from cs2;
--ERROR 1815
SELECT a from cs1 EXCEPT DISTINCT select a from cs2;
--ERROR 1815
SELECT a from cs1 UNION select a from cs2 INTERSECT ALL select a from cs3;
--ERROR 1815
SELECT a from cs1 UNION select a from cs2 INTERSECT DISTINCT select a from cs3;
--ERROR 1815
SELECT a from cs1 UNION select a from cs2 EXCEPT ALL select a from cs3;
--ERROR 1815
SELECT a from cs1 UNION select a from cs2 EXCEPT DISTINCT select a from cs3;
DROP DATABASE mcol_5699 ;