mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-12390 Wrong error line numbers reported with sql_mode=IGNORE_SPACE
This commit is contained in:
@ -759,3 +759,24 @@ a b
|
|||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
ALTER TABLE t1 ADD b INT;
|
ALTER TABLE t1 ADD b INT;
|
||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
a b
|
||||||
|
1 NULL
|
||||||
|
1 NULL
|
||||||
|
1 NULL
|
||||||
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# MDEV-12390 Wrong error line numbers reported with sql_mode=IGNORE_SPACE
|
||||||
|
#
|
||||||
|
SET sql_mode=IGNORE_SPACE;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
SELECT 1+1;
|
||||||
|
syntax error;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
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 'error;
|
||||||
|
END' at line 4
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
@ -527,3 +527,30 @@ ALTER TABLE t1 ADD b INT;
|
|||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-12390 Wrong error line numbers reported with sql_mode=IGNORE_SPACE
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SET sql_mode=IGNORE_SPACE;
|
||||||
|
DELIMITER $$;
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
SELECT 1+1;
|
||||||
|
syntax error;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
|
||||||
|
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
DELIMITER $$;
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
CREATE PROCEDURE p1()
|
||||||
|
BEGIN
|
||||||
|
SELECT 1+1;
|
||||||
|
syntax error;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
@ -1448,7 +1448,10 @@ static int lex_one_token(YYSTYPE *yylval, THD *thd)
|
|||||||
below by checking start != lex->ptr.
|
below by checking start != lex->ptr.
|
||||||
*/
|
*/
|
||||||
for (; state_map[(uchar) c] == MY_LEX_SKIP ; c= lip->yyGet())
|
for (; state_map[(uchar) c] == MY_LEX_SKIP ; c= lip->yyGet())
|
||||||
;
|
{
|
||||||
|
if (c == '\n')
|
||||||
|
lip->yylineno++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (start == lip->get_ptr() && c == '.' &&
|
if (start == lip->get_ptr() && c == '.' &&
|
||||||
ident_map[(uchar) lip->yyPeek()])
|
ident_map[(uchar) lip->yyPeek()])
|
||||||
|
Reference in New Issue
Block a user