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
Merge pull request #2421 from denis0x0D/MCOL-4778
[MCOL-4778] Return if we have an error in push_down_init.
This commit is contained in:
@ -962,6 +962,9 @@ select_handler* create_columnstore_select_handler(THD* thd, SELECT_LEX* select_l
|
||||
{
|
||||
my_printf_error(ER_INTERNAL_ERROR, "%s", MYF(0), "Error occured in ha_mcs_impl_pushdown_init()");
|
||||
}
|
||||
|
||||
// We had an error in `ha_mcs_impl_pushdown_init`, no need to continue execution of this query.
|
||||
return handler;
|
||||
}
|
||||
|
||||
// Unset select_lex::first_cond_optimization
|
||||
|
18
mysql-test/columnstore/bugfixes/mcol-4778.result
Normal file
18
mysql-test/columnstore/bugfixes/mcol-4778.result
Normal file
@ -0,0 +1,18 @@
|
||||
DROP DATABASE IF EXISTS mcol_4778;
|
||||
CREATE DATABASE mcol_4778;
|
||||
USE mcol_4778;
|
||||
CREATE TABLE bus_routes (origin varchar(50), dst varchar(50)) engine=columnstore;
|
||||
INSERT INTO bus_routes VALUES
|
||||
('New York', 'Boston'),
|
||||
('Boston', 'New York'),
|
||||
('New York', 'Washington'),
|
||||
('Washington', 'Boston'),
|
||||
('Washington', 'Raleigh');
|
||||
WITH RECURSIVE bus_dst as (
|
||||
SELECT origin as dst FROM bus_routes WHERE origin='New York'
|
||||
UNION
|
||||
SELECT bus_routes.dst FROM bus_routes JOIN bus_dst ON bus_dst.dst = bus_routes.origin
|
||||
)
|
||||
SELECT * FROM bus_dst;
|
||||
ERROR 42000: The storage engine for the table doesn't support Recursive CTE
|
||||
DROP DATABASE mcol_4778;
|
29
mysql-test/columnstore/bugfixes/mcol-4778.test
Normal file
29
mysql-test/columnstore/bugfixes/mcol-4778.test
Normal file
@ -0,0 +1,29 @@
|
||||
#
|
||||
# MCOL-4778 Recursive CTE Crashing MariaDB - fix crash produce err.
|
||||
#
|
||||
-- source ../include/have_columnstore.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS mcol_4778;
|
||||
--enable_warnings
|
||||
CREATE DATABASE mcol_4778;
|
||||
USE mcol_4778;
|
||||
|
||||
CREATE TABLE bus_routes (origin varchar(50), dst varchar(50)) engine=columnstore;
|
||||
|
||||
INSERT INTO bus_routes VALUES
|
||||
('New York', 'Boston'),
|
||||
('Boston', 'New York'),
|
||||
('New York', 'Washington'),
|
||||
('Washington', 'Boston'),
|
||||
('Washington', 'Raleigh');
|
||||
|
||||
--error ER_CHECK_NOT_IMPLEMENTED
|
||||
WITH RECURSIVE bus_dst as (
|
||||
SELECT origin as dst FROM bus_routes WHERE origin='New York'
|
||||
UNION
|
||||
SELECT bus_routes.dst FROM bus_routes JOIN bus_dst ON bus_dst.dst = bus_routes.origin
|
||||
)
|
||||
SELECT * FROM bus_dst;
|
||||
|
||||
DROP DATABASE mcol_4778;
|
Reference in New Issue
Block a user