mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
bug #26074 Mysql crash creating partition
As we have unified paths inside partition engine, we should look for '/' as a path separator mysql-test/r/windows.result: result fixed mysql-test/t/windows.test: testcase sql/ha_partition.cc: check for '/' instead of FN_LIBCHAR
This commit is contained in:
@ -26,3 +26,18 @@ ERROR HY000: No paths allowed for shared library
|
|||||||
execute abc;
|
execute abc;
|
||||||
ERROR HY000: No paths allowed for shared library
|
ERROR HY000: No paths allowed for shared library
|
||||||
deallocate prepare abc;
|
deallocate prepare abc;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
`pkid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`SALES_DATE` date NOT NULL DEFAULT '0000-00-00',
|
||||||
|
KEY `pkid` (`pkid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
PARTITION BY RANGE (MONTH(SALES_DATE))
|
||||||
|
(
|
||||||
|
PARTITION p0 VALUES LESS THAN (2) ENGINE=INNODB
|
||||||
|
data DIRECTORY='c:/tmp/'
|
||||||
|
index DIRECTORY = 'c:/tmp/',
|
||||||
|
PARTITION p1 VALUES LESS THAN (3) ENGINE=INNODB
|
||||||
|
data DIRECTORY='c:/tmp/'
|
||||||
|
index DIRECTORY = 'c:/tmp/'
|
||||||
|
);
|
||||||
|
drop table t1;
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# Windows-specific tests
|
# Windows-specific tests
|
||||||
--source include/windows.inc
|
--source include/windows.inc
|
||||||
|
-- source include/have_innodb.inc
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug 9148: Denial of service
|
# Bug 9148: Denial of service
|
||||||
@ -49,3 +50,23 @@ execute abc;
|
|||||||
execute abc;
|
execute abc;
|
||||||
deallocate prepare abc;
|
deallocate prepare abc;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #26074 Mysql crash when creating partitions
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
`pkid` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`SALES_DATE` date NOT NULL DEFAULT '0000-00-00',
|
||||||
|
KEY `pkid` (`pkid`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||||
|
PARTITION BY RANGE (MONTH(SALES_DATE))
|
||||||
|
(
|
||||||
|
PARTITION p0 VALUES LESS THAN (2) ENGINE=INNODB
|
||||||
|
data DIRECTORY='c:/tmp/'
|
||||||
|
index DIRECTORY = 'c:/tmp/',
|
||||||
|
PARTITION p1 VALUES LESS THAN (3) ENGINE=INNODB
|
||||||
|
data DIRECTORY='c:/tmp/'
|
||||||
|
index DIRECTORY = 'c:/tmp/'
|
||||||
|
);
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -1781,7 +1781,8 @@ int ha_partition::set_up_table_before_create(TABLE *table,
|
|||||||
}
|
}
|
||||||
table->s->max_rows= part_elem->part_max_rows;
|
table->s->max_rows= part_elem->part_max_rows;
|
||||||
table->s->min_rows= part_elem->part_min_rows;
|
table->s->min_rows= part_elem->part_min_rows;
|
||||||
partition_name= strrchr(partition_name_with_path, FN_LIBCHAR);
|
/* Here we have unified path so should always look for '/', not FN_LIBCHAR */
|
||||||
|
partition_name= strrchr(partition_name_with_path, '/');
|
||||||
if ((part_elem->index_file_name &&
|
if ((part_elem->index_file_name &&
|
||||||
(error= append_file_to_dir(thd,
|
(error= append_file_to_dir(thd,
|
||||||
(const char**)&part_elem->index_file_name,
|
(const char**)&part_elem->index_file_name,
|
||||||
|
Reference in New Issue
Block a user