mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
BUG#18750: Various problems with partition names, quotation marks
mysql-test/r/partition.result: Added new test cases mysql-test/t/partition.test: Added new test cases sql/partition_info.cc: Check partition names that they don't have trailing spaces sql/share/errmsg.txt: Added error code for wrong partition names sql/sql_partition.cc: New method to add partition name strings, ignore OPTION_SHOW_QUOTE_CREATE sql/sql_show.cc: require_quotes had a bug with identifiers that consisted of only digits, these are allowed identifiers but must be quoted and require_quote didn't tell this. sql/sql_yacc.yy: Partition names should identifers and not ident_or_text
This commit is contained in:
@@ -696,6 +696,12 @@ bool partition_info::check_partition_info(handlerton **eng_type,
|
||||
partition_element *part_elem= part_it++;
|
||||
if (!is_sub_partitioned())
|
||||
{
|
||||
if (check_table_name(part_elem->partition_name,
|
||||
strlen(part_elem->partition_name)))
|
||||
{
|
||||
my_error(ER_WRONG_PARTITION_NAME, MYF(0));
|
||||
goto end;
|
||||
}
|
||||
if (part_elem->engine_type == NULL)
|
||||
part_elem->engine_type= default_engine_type;
|
||||
DBUG_PRINT("info", ("engine = %d",
|
||||
@@ -709,6 +715,12 @@ bool partition_info::check_partition_info(handlerton **eng_type,
|
||||
do
|
||||
{
|
||||
part_elem= sub_it++;
|
||||
if (check_table_name(part_elem->partition_name,
|
||||
strlen(part_elem->partition_name)))
|
||||
{
|
||||
my_error(ER_WRONG_PARTITION_NAME, MYF(0));
|
||||
goto end;
|
||||
}
|
||||
if (part_elem->engine_type == NULL)
|
||||
part_elem->engine_type= default_engine_type;
|
||||
DBUG_PRINT("info", ("engine = %u",
|
||||
|
Reference in New Issue
Block a user