mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
failing to parse an SP should not abort information_schema.routines
This commit is contained in:
@@ -142,7 +142,10 @@ DROP FUNCTION bug48766;
|
|||||||
call mtr.add_suppression('invalid value in column mysql.proc.');
|
call mtr.add_suppression('invalid value in column mysql.proc.');
|
||||||
set collation_connection=ucs2_general_ci;
|
set collation_connection=ucs2_general_ci;
|
||||||
insert into mysql.proc (db, name, type, specific_name, language, sql_data_access, is_deterministic, security_type, param_list, returns, body, definer, created, modified, sql_mode, comment, character_set_client, collation_connection, db_collation, body_utf8 ) values ( 'a', 'a', 'function', 'bug14233_1', 'sql', 'reads_sql_data', 'no', 'definer', '', 'int(10)', 'select * from mysql.user', 'root@localhost', now(), '0000-00-00 00:00:00', '', '', '', '', '', 'select * from mysql.user' );
|
insert into mysql.proc (db, name, type, specific_name, language, sql_data_access, is_deterministic, security_type, param_list, returns, body, definer, created, modified, sql_mode, comment, character_set_client, collation_connection, db_collation, body_utf8 ) values ( 'a', 'a', 'function', 'bug14233_1', 'sql', 'reads_sql_data', 'no', 'definer', '', 'int(10)', 'select * from mysql.user', 'root@localhost', now(), '0000-00-00 00:00:00', '', '', '', '', '', 'select * from mysql.user' );
|
||||||
select * from information_schema.routines where routine_name='a';
|
select routine_name from information_schema.routines where routine_name='a';
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
|
routine_name
|
||||||
|
a
|
||||||
|
Warnings:
|
||||||
|
Warning 1601 Creation context of stored routine `a`.`a` is invalid
|
||||||
set collation_connection=default;
|
set collation_connection=default;
|
||||||
delete from mysql.proc where name='a';
|
delete from mysql.proc where name='a';
|
||||||
|
@@ -179,7 +179,6 @@ DROP FUNCTION bug48766;
|
|||||||
call mtr.add_suppression('invalid value in column mysql.proc.');
|
call mtr.add_suppression('invalid value in column mysql.proc.');
|
||||||
set collation_connection=ucs2_general_ci;
|
set collation_connection=ucs2_general_ci;
|
||||||
insert into mysql.proc (db, name, type, specific_name, language, sql_data_access, is_deterministic, security_type, param_list, returns, body, definer, created, modified, sql_mode, comment, character_set_client, collation_connection, db_collation, body_utf8 ) values ( 'a', 'a', 'function', 'bug14233_1', 'sql', 'reads_sql_data', 'no', 'definer', '', 'int(10)', 'select * from mysql.user', 'root@localhost', now(), '0000-00-00 00:00:00', '', '', '', '', '', 'select * from mysql.user' );
|
insert into mysql.proc (db, name, type, specific_name, language, sql_data_access, is_deterministic, security_type, param_list, returns, body, definer, created, modified, sql_mode, comment, character_set_client, collation_connection, db_collation, body_utf8 ) values ( 'a', 'a', 'function', 'bug14233_1', 'sql', 'reads_sql_data', 'no', 'definer', '', 'int(10)', 'select * from mysql.user', 'root@localhost', now(), '0000-00-00 00:00:00', '', '', '', '', '', 'select * from mysql.user' );
|
||||||
--error ER_PARSE_ERROR
|
select routine_name from information_schema.routines where routine_name='a';
|
||||||
select * from information_schema.routines where routine_name='a';
|
|
||||||
set collation_connection=default;
|
set collation_connection=default;
|
||||||
delete from mysql.proc where name='a';
|
delete from mysql.proc where name='a';
|
||||||
|
@@ -5059,7 +5059,8 @@ public:
|
|||||||
Sql_condition::enum_warning_level *level,
|
Sql_condition::enum_warning_level *level,
|
||||||
const char* msg, Sql_condition ** cond_hdl)
|
const char* msg, Sql_condition ** cond_hdl)
|
||||||
{
|
{
|
||||||
if (sql_errno == ER_TRG_NO_DEFINER || sql_errno == ER_TRG_NO_CREATION_CTX)
|
if (sql_errno == ER_TRG_NO_DEFINER || sql_errno == ER_TRG_NO_CREATION_CTX
|
||||||
|
|| sql_errno == ER_PARSE_ERROR)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (*level != Sql_condition::WARN_LEVEL_ERROR)
|
if (*level != Sql_condition::WARN_LEVEL_ERROR)
|
||||||
|
Reference in New Issue
Block a user