mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
a4ff37e912
Change parser so it saves all the query line to the ';' in the sp_instr::m_query.
75 lines
1.5 KiB
Text
75 lines
1.5 KiB
Text
|
|
--source include/not_embedded.inc
|
|
|
|
if (!$SQL_ERRLOG_SO) {
|
|
skip No SQL_ERROR_LOG plugin;
|
|
}
|
|
|
|
--disable_warnings
|
|
drop procedure if exists test_error;
|
|
drop table if exists t1;
|
|
--enable_warnings
|
|
|
|
install plugin SQL_ERROR_LOG soname 'sql_errlog';
|
|
|
|
show variables like 'sql_error_log%';
|
|
set global sql_error_log_rate=1;
|
|
--error ER_NO_SUCH_TABLE
|
|
select * from t_doesnt_exist;
|
|
--error 1064
|
|
syntax_error_query;
|
|
|
|
delimiter |;
|
|
|
|
CREATE PROCEDURE test_error()
|
|
BEGIN
|
|
DECLARE CONTINUE HANDLER
|
|
FOR 1146
|
|
BEGIN
|
|
RESIGNAL SQLSTATE '40000' SET
|
|
MYSQL_ERRNO = 1000,
|
|
MESSAGE_TEXT = 'new message';
|
|
END;
|
|
SELECT `c` FROM `temptab`;
|
|
END|
|
|
|
|
delimiter ;|
|
|
|
|
--error 1000
|
|
CALL test_error();
|
|
drop procedure test_error;
|
|
|
|
SET SQL_MODE = STRICT_ALL_TABLES;
|
|
create table t1(id int);
|
|
--error 1366
|
|
insert into t1 values ('aa');
|
|
SET SQL_MODE = '';
|
|
drop table t1;
|
|
|
|
SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'not_exists' AND TABLE_NAME = 'not_exists';
|
|
|
|
#
|
|
# MDEV-6421 SQL_ERROR_LOG doesn't log comments in Events
|
|
# actually testing SP call is enough for that.
|
|
|
|
DELIMITER |;
|
|
|
|
CREATE procedure e1()
|
|
BEGIN
|
|
START TRANSACTION;
|
|
INSERT INTO test.non_exists VALUES (0,0,0) /* e1 */;
|
|
COMMIT;
|
|
END|
|
|
|
|
DELIMITER ;|
|
|
--error ER_NO_SUCH_TABLE
|
|
CALL e1();
|
|
DROP PROCEDURE e1;
|
|
|
|
uninstall plugin SQL_ERROR_LOG;
|
|
|
|
let $MYSQLD_DATADIR= `SELECT @@datadir`;
|
|
# replace the timestamp and the hostname with constant values
|
|
--replace_regex /[1-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [ 0-9][0-9]:[0-9][0-9]:[0-9][0-9] [^E]*/TIME HOSTNAME /
|
|
cat_file $MYSQLD_DATADIR/sql_errors.log;
|
|
|