mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
Merge mysql.com:/extern/mysql/bk/mysql-5.0-runtime
into mysql.com:/extern/mysql/5.0/bug17015/mysql-5.0-runtime
This commit is contained in:
commit
53595c7020
4 changed files with 37 additions and 6 deletions
|
@ -634,10 +634,18 @@ flush tables;
|
|||
return 5;
|
||||
end|
|
||||
ERROR 0A000: FLUSH is not allowed in stored function or trigger
|
||||
create procedure bug9529_90123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123()
|
||||
create procedure bug9529_901234567890123456789012345678901234567890123456789012345()
|
||||
begin
|
||||
end|
|
||||
ERROR 42000: Identifier name 'bug9529_90123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890' is too long
|
||||
ERROR 42000: Identifier name 'bug9529_901234567890123456789012345678901234567890123456789012345' is too long
|
||||
drop procedure if exists bug17015_0123456789012345678901234567890123456789012345678901234|
|
||||
create procedure bug17015_0123456789012345678901234567890123456789012345678901234()
|
||||
begin
|
||||
end|
|
||||
show procedure status like 'bug17015%'|
|
||||
Db Name Type Definer Modified Created Security_type Comment
|
||||
test bug17015_0123456789012345678901234567890123456789012345678901234 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
|
||||
drop procedure bug17015_0123456789012345678901234567890123456789012345678901234|
|
||||
drop procedure if exists bug10969|
|
||||
create procedure bug10969()
|
||||
begin
|
||||
|
|
|
@ -904,12 +904,26 @@ end|
|
|||
#
|
||||
# BUG#9529: Stored Procedures: No Warning on truncation of procedure name
|
||||
# during creation.
|
||||
# Note: When using utf8 for mysql.proc, this limit is much higher than before
|
||||
# BUG#17015: Routine name truncation not an error
|
||||
# When we started using utf8 for mysql.proc, this limit appeared
|
||||
# to be higher, but in reality the names were truncated.
|
||||
--error ER_TOO_LONG_IDENT
|
||||
create procedure bug9529_90123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123()
|
||||
create procedure bug9529_901234567890123456789012345678901234567890123456789012345()
|
||||
begin
|
||||
end|
|
||||
|
||||
--disable_warnings
|
||||
drop procedure if exists bug17015_0123456789012345678901234567890123456789012345678901234|
|
||||
--enable_warnings
|
||||
# Check the upper limit, just to make sure.
|
||||
create procedure bug17015_0123456789012345678901234567890123456789012345678901234()
|
||||
begin
|
||||
end|
|
||||
|
||||
--replace_column 5 '0000-00-00 00:00:00' 6 '0000-00-00 00:00:00'
|
||||
show procedure status like 'bug17015%'|
|
||||
drop procedure bug17015_0123456789012345678901234567890123456789012345678901234|
|
||||
|
||||
|
||||
#
|
||||
# BUG#10969: Stored procedures: crash if default() function
|
||||
|
@ -1699,4 +1713,3 @@ create aggregate function bug16896() returns int return 1;
|
|||
#drop procedure if exists bugNNNN|
|
||||
#--enable_warnings
|
||||
#create procedure bugNNNN...
|
||||
|
||||
|
|
|
@ -320,6 +320,12 @@ public:
|
|||
/* convert decimal to longlong with overflow check */
|
||||
longlong convert_decimal2longlong(const my_decimal *val, bool unsigned_flag,
|
||||
int *err);
|
||||
/* The max. number of characters */
|
||||
inline uint32 Field::char_length() const
|
||||
{
|
||||
return field_length / charset()->mbmaxlen;
|
||||
}
|
||||
|
||||
friend bool reopen_table(THD *,struct st_table *,bool);
|
||||
friend int cre_myisam(my_string name, register TABLE *form, uint options,
|
||||
ulonglong auto_increment_value);
|
||||
|
|
|
@ -534,7 +534,11 @@ db_create_routine(THD *thd, int type, sp_head *sp)
|
|||
ret= SP_GET_FIELD_FAILED;
|
||||
goto done;
|
||||
}
|
||||
if (sp->m_name.length > table->field[MYSQL_PROC_FIELD_NAME]->field_length)
|
||||
|
||||
if (system_charset_info->cset->numchars(system_charset_info,
|
||||
sp->m_name.str,
|
||||
sp->m_name.str+sp->m_name.length) >
|
||||
table->field[MYSQL_PROC_FIELD_NAME]->char_length())
|
||||
{
|
||||
ret= SP_BAD_IDENTIFIER;
|
||||
goto done;
|
||||
|
|
Loading…
Reference in a new issue