BUG#13520: BUG#13433: Fixed proper delimiters for fields and comments
mysql-test/r/partition.result: New test cases mysql-test/t/partition.test: New test cases sql/sql_partition.cc: Fixed proper delimiters for fields and comments
This commit is contained in:
parent
c5515cc6ab
commit
6f2d033ca7
@ -718,4 +718,14 @@ CALL test.p1(13);
|
|||||||
Warnings:
|
Warnings:
|
||||||
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
Warning 1196 Some non-transactional changed tables couldn't be rolled back
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 (a int not null)
|
||||||
|
partition by key(a)
|
||||||
|
(partition p0 COMMENT='first partition');
|
||||||
|
drop table t1;
|
||||||
|
CREATE TABLE t1 (`a b` int not null)
|
||||||
|
partition by key(`a b`);
|
||||||
|
drop table t1;
|
||||||
|
CREATE TABLE t1 (`a b` int not null)
|
||||||
|
partition by hash(`a b`);
|
||||||
|
drop table t1;
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
|
@ -849,4 +849,23 @@ CALL test.p1(12);
|
|||||||
CALL test.p1(13);
|
CALL test.p1(13);
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug 13520: Problem with delimiters in COMMENT DATA DIRECTORY ..
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a int not null)
|
||||||
|
partition by key(a)
|
||||||
|
(partition p0 COMMENT='first partition');
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug 13433: Problem with delimited identifiers
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (`a b` int not null)
|
||||||
|
partition by key(`a b`);
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (`a b` int not null)
|
||||||
|
partition by hash(`a b`);
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
|
@ -1885,6 +1885,11 @@ static int add_write(File fptr, const char *buf, uint len)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int add_string_object(File fptr, String *string)
|
||||||
|
{
|
||||||
|
return add_write(fptr, string->ptr(), string->length());
|
||||||
|
}
|
||||||
|
|
||||||
static int add_string(File fptr, const char *string)
|
static int add_string(File fptr, const char *string)
|
||||||
{
|
{
|
||||||
return add_write(fptr, string, strlen(string));
|
return add_write(fptr, string, strlen(string));
|
||||||
@ -1971,7 +1976,14 @@ static int add_key_partition(File fptr, List<char> field_list)
|
|||||||
while (i < no_fields)
|
while (i < no_fields)
|
||||||
{
|
{
|
||||||
const char *field_str= part_it++;
|
const char *field_str= part_it++;
|
||||||
err+= add_string(fptr, field_str);
|
String field_string("", 0, system_charset_info);
|
||||||
|
THD *thd= current_thd;
|
||||||
|
ulonglong save_options= thd->options;
|
||||||
|
thd->options= 0;
|
||||||
|
append_identifier(thd, &field_string, field_str,
|
||||||
|
strlen(field_str));
|
||||||
|
thd->options= save_options;
|
||||||
|
err+= add_string_object(fptr, &field_string);
|
||||||
if (i != (no_fields-1))
|
if (i != (no_fields-1))
|
||||||
err+= add_comma(fptr);
|
err+= add_comma(fptr);
|
||||||
i++;
|
i++;
|
||||||
@ -2041,7 +2053,7 @@ static int add_partition_options(File fptr, partition_element *p_elem)
|
|||||||
err+= add_keyword_string(fptr, "INDEX DIRECTORY", TRUE,
|
err+= add_keyword_string(fptr, "INDEX DIRECTORY", TRUE,
|
||||||
p_elem->index_file_name);
|
p_elem->index_file_name);
|
||||||
if (p_elem->part_comment)
|
if (p_elem->part_comment)
|
||||||
err+= add_keyword_string(fptr, "COMMENT", FALSE, p_elem->part_comment);
|
err+= add_keyword_string(fptr, "COMMENT", TRUE, p_elem->part_comment);
|
||||||
return err + add_engine(fptr,p_elem->engine_type);
|
return err + add_engine(fptr,p_elem->engine_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user