1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

Bug#42954: SQL MODE 'NO_DIR_IN_CREATE' does not work with subpartitions

There was no check for DATA/INDEX DIRECTORY for subpartitions

Added the same check as for partitions.

mysql-test/r/partition_error.result:
  Bug#42954: SQL MODE 'NO_DIR_IN_CREATE' does not work with subpartitions
  
  Updated results
mysql-test/t/partition_error.test:
  Bug#42954: SQL MODE 'NO_DIR_IN_CREATE' does not work with subpartitions
  
  Added tests
sql/partition_info.cc:
  Bug#42954: SQL MODE 'NO_DIR_IN_CREATE' does not work with subpartitions
  
  moved the check for DATA/INDEX DIRECTORY into a function
  and used it for both partitions as well as subpartitions.
  (Was not checked at all for subpartitions before)
This commit is contained in:
Mattias Jonsson
2010-03-11 14:00:36 +01:00
parent ee4a3099b3
commit b183e7c5a2
3 changed files with 131 additions and 15 deletions

View File

@@ -7,7 +7,41 @@
--disable_warnings
drop table if exists t1;
--enable_warnings
--echo #
--echo # Bug#42954: SQL MODE 'NO_DIR_IN_CREATE' does not work with
--echo # subpartitions
SET @org_mode=@@sql_mode;
SET @@sql_mode='NO_DIR_IN_CREATE';
SELECT @@sql_mode;
CREATE TABLE t1 (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
SUBPARTITION BY HASH(TO_DAYS(purchased))
(PARTITION p0 VALUES LESS THAN MAXVALUE
DATA DIRECTORY = '/tmp/not-existing'
INDEX DIRECTORY = '/tmp/not-existing');
SHOW CREATE TABLE t1;
DROP TABLE t1;
CREATE TABLE t1 (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
SUBPARTITION BY HASH(TO_DAYS(purchased)) SUBPARTITIONS 2
(PARTITION p0 VALUES LESS THAN MAXVALUE
(SUBPARTITION sp0
DATA DIRECTORY = '/tmp/not-existing'
INDEX DIRECTORY = '/tmp/not-existing',
SUBPARTITION sp1));
SHOW CREATE TABLE t1;
DROP TABLE t1;
CREATE TABLE t1 (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
(PARTITION p0 VALUES LESS THAN MAXVALUE
DATA DIRECTORY = '/tmp/not-existing'
INDEX DIRECTORY = '/tmp/not-existing');
SHOW CREATE TABLE t1;
DROP TABLE t1;
SET @@sql_mode= @org_mode;
#
# Bug#38719: Partitioning returns a different error code for a
# duplicate key error