mirror of
https://github.com/MariaDB/server.git
synced 2026-04-29 11:45:32 +02:00
Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into mysql.com:/home/jimw/my/mysql-5.0-clean mysql-test/std_data/loaddata_dq.dat: Merge rename: mysql-test/std_data/loaddata5.dat -> mysql-test/std_data/loaddata_dq.dat sql/item.cc: Auto merged sql/sql_load.cc: Auto merged mysql-test/r/loaddata.result: Resolve conflicts, deal with renamed dat file mysql-test/t/loaddata.test: Resolve conflicts, deal with renamed dat file
This commit is contained in:
commit
93f790248d
5 changed files with 40 additions and 4 deletions
|
|
@ -1014,8 +1014,23 @@ int READ_INFO::read_field()
|
|||
*to++= (byte) escape_char;
|
||||
goto found_eof;
|
||||
}
|
||||
*to++ = (byte) unescape((char) chr);
|
||||
continue;
|
||||
/*
|
||||
When escape_char == enclosed_char, we treat it like we do for
|
||||
handling quotes in SQL parsing -- you can double-up the
|
||||
escape_char to include it literally, but it doesn't do escapes
|
||||
like \n. This allows: LOAD DATA ... ENCLOSED BY '"' ESCAPED BY '"'
|
||||
with data like: "fie""ld1", "field2"
|
||||
*/
|
||||
if (escape_char != enclosed_char || chr == escape_char)
|
||||
{
|
||||
*to++ = (byte) unescape((char) chr);
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
PUSH(chr);
|
||||
chr= escape_char;
|
||||
}
|
||||
}
|
||||
#ifdef ALLOW_LINESEPARATOR_IN_STRINGS
|
||||
if (chr == line_term_char)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue