diff options
author | Mattias Jonsson <mattias.jonsson@sun.com> | 2009-01-08 15:16:44 +0100 |
---|---|---|
committer | Mattias Jonsson <mattias.jonsson@sun.com> | 2009-01-08 15:16:44 +0100 |
commit | 48e0325c5e22aef8faca34672c30873c361412e1 (patch) | |
tree | b91791fcbe0d55ca4236c4e6639f35ebd4a07b48 /mysql-test/t/not_partition.test | |
parent | 47c0ec508467b4941e6e388e33dc688b7247befb (diff) | |
download | mariadb-git-48e0325c5e22aef8faca34672c30873c361412e1.tar.gz |
Bug#39893: Crash if select on a partitioned table, when partitioning is disabled
Problem was that it tried to run partitioning function calls when
opening a partitioned table, when it was explicitly disabled.
Solution is to check if the partitioning plugin is ready to use before
using any partitioning specific calls.
mysql-test/r/disabled_partition.require:
Bug#39893: Crash if select on a partitioned table, when partitioning is disabled
New require file to use when partitioning is disabled (but compiled in)
mysql-test/r/not_partition.result:
Bug#39893: Crash if select on a partitioned table, when partitioning is disabled
Updated testcase
mysql-test/r/partition_disabled.result:
Bug#39893: Crash if select on a partitioned table, when partitioning is disabled
New result file
mysql-test/std_data/parts/t1.frm:
Bug#39893: Crash if select on a partitioned table, when partitioning is disabled
frm file for 'create table t1 (a int) partition by hash (a)'
mysql-test/t/not_partition.test:
Bug#39893: Crash if select on a partitioned table, when partitioning is disabled
Updated test cases
mysql-test/t/partition_disabled-master.opt:
Bug#39893: Crash if select on a partitioned table, when partitioning is disabled
New opt file
mysql-test/t/partition_disabled.test:
Bug#39893: Crash if select on a partitioned table, when partitioning is disabled
New test file (looks like not_partition.test, but with different errors)
sql/sql_yacc.yy:
Bug#39893: Crash if select on a partitioned table, when partitioning is disabled
Better error message (it is already built with partitioning, but is explicitly
disabled).
sql/table.cc:
Bug#39893: Crash if select on a partitioned table, when partitioning is disabled
If the partitioning plugin is not ready, fail to open the table.
Diffstat (limited to 'mysql-test/t/not_partition.test')
-rw-r--r-- | mysql-test/t/not_partition.test | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/mysql-test/t/not_partition.test b/mysql-test/t/not_partition.test index 992615c06f4..78e6c7495cf 100644 --- a/mysql-test/t/not_partition.test +++ b/mysql-test/t/not_partition.test @@ -1,12 +1,35 @@ --disable_abort_on_error -# Run this tets only when mysqld don't has partitioning +# Run this test only when mysqld don't has partitioning (not compiled with) # the statements are not expected to work, just check that we # can't crash the server -- require r/not_partition.require disable_query_log; show variables like "have_partitioning"; enable_query_log; +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings +let $MYSQLD_DATADIR= `SELECT @@datadir`; +# +# Bug#39893: Crash if select on a partitioned table, +# when partitioning is disabled +FLUSH TABLES; +--copy_file $MYSQLTEST_VARDIR/std_data_ln/parts/t1.frm $MYSQLD_DATADIR/test/t1.frm +SELECT * FROM t1; +TRUNCATE TABLE t1; +ANALYZE TABLE t1; +CHECK TABLE t1; +OPTIMIZE TABLE t1; +REPAIR TABLE t1; +ALTER TABLE t1 REPAIR PARTITION ALL; +ALTER TABLE t1 CHECK PARTITION ALL; +ALTER TABLE t1 OPTIMIZE PARTITION ALL; +ALTER TABLE t1 ANALYZE PARTITION ALL; +ALTER TABLE t1 REBUILD PARTITION ALL; +ALTER TABLE t1 ENGINE Memory; +ALTER TABLE t1 ADD (new INT); +DROP TABLE t1; --error ER_FEATURE_DISABLED CREATE TABLE t1 ( |