mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bug #20103: Escaping with backslash does not work
- make the client to respect the server-side no_backslash_escapes option and disable the special meaning of backslash also at client side.
This commit is contained in:
@ -1221,7 +1221,8 @@ static bool add_line(String &buffer,char *line,char *in_string,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (!*ml_comment && inchar == '\\')
|
if (!*ml_comment && inchar == '\\' &&
|
||||||
|
!(mysql.server_status & SERVER_STATUS_NO_BACKSLASH_ESCAPES))
|
||||||
{
|
{
|
||||||
// Found possbile one character command like \c
|
// Found possbile one character command like \c
|
||||||
|
|
||||||
|
@ -2,3 +2,7 @@
|
|||||||
1
|
1
|
||||||
ERROR 1064 (42000) at line 3: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
|
ERROR 1064 (42000) at line 3: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
|
||||||
ERROR at line 1: USE must be followed by a database name
|
ERROR at line 1: USE must be followed by a database name
|
||||||
|
\
|
||||||
|
\\
|
||||||
|
';
|
||||||
|
';
|
||||||
|
@ -27,3 +27,14 @@
|
|||||||
# client comment recognized, but parameter missing => error
|
# client comment recognized, but parameter missing => error
|
||||||
--exec echo "use" > $MYSQLTEST_VARDIR/tmp/bug20432.sql
|
--exec echo "use" > $MYSQLTEST_VARDIR/tmp/bug20432.sql
|
||||||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
|
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20432.sql 2>&1
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #20103: Escaping with backslash does not work
|
||||||
|
#
|
||||||
|
--exec echo "SET SQL_MODE = 'NO_BACKSLASH_ESCAPES';" > $MYSQLTEST_VARDIR/tmp/bug20103.sql
|
||||||
|
--exec echo "SELECT '\';" >> $MYSQLTEST_VARDIR/tmp/bug20103.sql
|
||||||
|
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20103.sql 2>&1
|
||||||
|
|
||||||
|
--exec echo "SET SQL_MODE = '';" > $MYSQLTEST_VARDIR/tmp/bug20103.sql
|
||||||
|
--exec echo "SELECT '\';';" >> $MYSQLTEST_VARDIR/tmp/bug20103.sql
|
||||||
|
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20103.sql 2>&1
|
||||||
|
Reference in New Issue
Block a user