From: Alexey Botchkov Date: July 30 2009 11:33am Subject: bzr commit into mysql-5.4 branch (holyfoot:2836) Bug#36750 List-Archive: http://lists.mysql.com/commits/79638 X-Bug: 36750 Message-Id: <20090730113338.385B62C380C1@hfmain.localdomain> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_FKTP6rxjQfdc2OXvayibhQ)" --Boundary_(ID_FKTP6rxjQfdc2OXvayibhQ) MIME-version: 1.0 Content-type: text/plain; CHARSET=US-ASCII Content-transfer-encoding: 7BIT Content-disposition: inline #At file:///home/hf/work/mysql_common/36750/ based on revid:jon.hauglid@stripped 2836 Alexey Botchkov 2009-07-30 Bug#36750 LOAD XML doesn't understand new line (feed) characters in multi line text fields Reading values of the XML tags, we turn linefeeds and tabs into spaces with the my_tospace() call. per-file comments: mysql-test/r/loadxml.result Bug#36750 LOAD XML doesn't understand new line (feed) characters in multi line text fields test result completed mysql-test/t/loadxml.test Bug#36750 LOAD XML doesn't understand new line (feed) characters in multi line text fields test result added sql/sql_load.cc Bug#36750 LOAD XML doesn't understand new line (feed) characters in multi line text fields add original characters to the 'value', not distorted with the my_tospace() added: mysql-test/std_data/loadxml2.dat modified: mysql-test/r/loadxml.result mysql-test/t/loadxml.test sql/sql_load.cc === modified file 'mysql-test/r/loadxml.result' --- a/mysql-test/r/loadxml.result 2008-04-08 08:06:05 +0000 +++ b/mysql-test/r/loadxml.result 2009-07-30 11:32:37 +0000 @@ -58,3 +58,15 @@ select 1 as xml; xml 1 drop table t1; +create table t1 ( +id int(11) not null, +text text, +primary key (id) +) engine=MyISAM default charset=latin1; +load xml infile '../../std_data/loadxml2.dat' into table t1; +select * from t1; +id text +1 line1 +line2 +line3 +drop table t1; === added file 'mysql-test/std_data/loadxml2.dat' --- a/mysql-test/std_data/loadxml2.dat 1970-01-01 00:00:00 +0000 +++ b/mysql-test/std_data/loadxml2.dat 2009-07-30 11:32:37 +0000 @@ -0,0 +1,19 @@ + + + + + + + + + + + + 1 + line1 +line2 +line3 + + + + === modified file 'mysql-test/t/loadxml.test' --- a/mysql-test/t/loadxml.test 2008-10-29 08:45:14 +0000 +++ b/mysql-test/t/loadxml.test 2009-07-30 11:32:37 +0000 @@ -48,3 +48,16 @@ select 1 as xml; remove_file $MYSQLTEST_VARDIR/tmp/loadxml-dump.xml; drop table t1; +# +# Bug #36750 LOAD XML doesn't understand new line (feed) characters in multi line text fields +# + +create table t1 ( + id int(11) not null, + text text, + primary key (id) +) engine=MyISAM default charset=latin1; +load xml infile '../../std_data/loadxml2.dat' into table t1; +select * from t1; +drop table t1; + === modified file 'sql/sql_load.cc' --- a/sql/sql_load.cc 2009-07-24 14:04:20 +0000 +++ b/sql/sql_load.cc 2009-07-30 11:32:37 +0000 @@ -1632,7 +1632,7 @@ int READ_INFO::read_value(int delim, Str int chr; String tmp; - for (chr= my_tospace(GET); chr != delim && chr != my_b_EOF; ) + for (chr= GET; my_tospace(chr) != delim && chr != my_b_EOF;) { #ifdef USE_MB if (my_mbcharlen(read_charset, chr) > 1) @@ -1672,9 +1672,9 @@ int READ_INFO::read_value(int delim, Str } else val->append(chr); - chr= my_tospace(GET); + chr= GET; } - return chr; + return my_tospace(chr); } --Boundary_(ID_FKTP6rxjQfdc2OXvayibhQ) MIME-version: 1.0 Content-type: text/bzr-bundle; CHARSET=US-ASCII; name="bzr/holyfoot@stripped" Content-transfer-encoding: 7BIT Content-disposition: inline; filename="bzr/holyfoot@stripped" # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: holyfoot@stripped # target_branch: file:///home/hf/work/mysql_common/36750/ # testament_sha1: b62dfc772ba409e2cb8c866249bda2c59a4fff81 # timestamp: 2009-07-30 16:33:38 +0500 # base_revision_id: jon.hauglid@stripped\ # 8j1mjlx1qaf9i9cr # # Begin bundle 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 --Boundary_(ID_FKTP6rxjQfdc2OXvayibhQ)--