MDEV-13149 -- show function status now works with PAD_CHAR_TO_FULL_LENGTH
This commit is contained in:
parent
c2509a1588
commit
93aadda513
@ -0,0 +1,24 @@
|
||||
create function f() returns int return 1;
|
||||
show function status;
|
||||
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
|
||||
T f T T T T T T T T T
|
||||
set sql_mode = 'PAD_CHAR_TO_FULL_LENGTH';
|
||||
show function status;
|
||||
Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
|
||||
T f T T T T T T T T T
|
||||
drop function f;
|
||||
select @@sql_mode;
|
||||
@@sql_mode
|
||||
PAD_CHAR_TO_FULL_LENGTH
|
||||
create function f() returns int return 1;
|
||||
select ROUTINE_NAME from information_schema.ROUTINES where ROUTINE_NAME='f';
|
||||
ROUTINE_NAME
|
||||
f
|
||||
set sql_mode = 'PAD_CHAR_TO_FULL_LENGTH';
|
||||
select ROUTINE_NAME from information_schema.ROUTINES where ROUTINE_NAME='f';
|
||||
ROUTINE_NAME
|
||||
f
|
||||
drop function f;
|
||||
select @@sql_mode;
|
||||
@@sql_mode
|
||||
PAD_CHAR_TO_FULL_LENGTH
|
23
mysql-test/t/show_function_with_pad_char_to_full_length.test
Normal file
23
mysql-test/t/show_function_with_pad_char_to_full_length.test
Normal file
@ -0,0 +1,23 @@
|
||||
#
|
||||
# Test that show function status succeeds with
|
||||
# sql_mode = 'PAD_CHAR_TO_FULL_LENGTH (MDEV-13149)
|
||||
|
||||
# show function status
|
||||
|
||||
create function f() returns int return 1;
|
||||
--replace_column 1 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 T 11 T
|
||||
show function status;
|
||||
set sql_mode = 'PAD_CHAR_TO_FULL_LENGTH';
|
||||
--replace_column 1 T 3 T 4 T 5 T 6 T 7 T 8 T 9 T 10 T 11 T
|
||||
show function status;
|
||||
drop function f;
|
||||
select @@sql_mode;
|
||||
|
||||
# select ROUTINE_NAME from information_schema.ROUTINES
|
||||
|
||||
create function f() returns int return 1;
|
||||
select ROUTINE_NAME from information_schema.ROUTINES where ROUTINE_NAME='f';
|
||||
set sql_mode = 'PAD_CHAR_TO_FULL_LENGTH';
|
||||
select ROUTINE_NAME from information_schema.ROUTINES where ROUTINE_NAME='f';
|
||||
drop function f;
|
||||
select @@sql_mode;
|
@ -5716,6 +5716,10 @@ int fill_schema_proc(THD *thd, TABLE_LIST *tables, COND *cond)
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
|
||||
/* Disable padding temporarily so it doesn't break the query */
|
||||
ulonglong sql_mode_was = thd->variables.sql_mode;
|
||||
thd->variables.sql_mode &= ~MODE_PAD_CHAR_TO_FULL_LENGTH;
|
||||
|
||||
if (proc_table->file->ha_index_init(0, 1))
|
||||
{
|
||||
res= 1;
|
||||
@ -5751,6 +5755,7 @@ err:
|
||||
(void) proc_table->file->ha_index_end();
|
||||
|
||||
close_system_tables(thd, &open_tables_state_backup);
|
||||
thd->variables.sql_mode = sql_mode_was;
|
||||
DBUG_RETURN(res);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user