Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
305b58b8
Commit
305b58b8
authored
Oct 26, 2005
by
jimw@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal:/home/bk/mysql-5.0
into mysql.com:/home/jimw/my/mysql-5.0-clean
parents
ff6cfe6d
607c1297
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
40 additions
and
4 deletions
+40
-4
mysql-test/r/loaddata.result
mysql-test/r/loaddata.result
+8
-0
mysql-test/std_data/loaddata_dq.dat
mysql-test/std_data/loaddata_dq.dat
+3
-0
mysql-test/t/loaddata.test
mysql-test/t/loaddata.test
+11
-1
sql/item.cc
sql/item.cc
+1
-1
sql/sql_load.cc
sql/sql_load.cc
+17
-2
No files found.
mysql-test/r/loaddata.result
View file @
305b58b8
...
@@ -77,6 +77,14 @@ id
...
@@ -77,6 +77,14 @@ id
0
0
SET @@SQL_MODE=@OLD_SQL_MODE;
SET @@SQL_MODE=@OLD_SQL_MODE;
drop table t1;
drop table t1;
create table t1 (a varchar(20), b varchar(20));
load data infile '../../std_data/loaddata_dq.dat' into table t1 fields terminated by ',' enclosed by '"' escaped by '"' (a,b);
select * from t1;
a b
field1 field2
a"b cd"ef
a"b c"d"e
drop table t1;
create table t1 (a int default 100, b int, c varchar(60));
create table t1 (a int default 100, b int, c varchar(60));
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (a, @b) set b=@b+10, c=concat("b=",@b);
load data infile '../../std_data/rpl_loaddata.dat' into table t1 (a, @b) set b=@b+10, c=concat("b=",@b);
select * from t1;
select * from t1;
...
...
mysql-test/std_data/loaddata_dq.dat
0 → 100644
View file @
305b58b8
"field1","field2"
"a""b","cd""ef"
"a"b",c"d"e
mysql-test/t/loaddata.test
View file @
305b58b8
...
@@ -31,7 +31,6 @@ load data infile '../../std_data/loaddata4.dat' into table t1 fields terminated
...
@@ -31,7 +31,6 @@ load data infile '../../std_data/loaddata4.dat' into table t1 fields terminated
select
*
from
t1
;
select
*
from
t1
;
drop
table
t1
;
drop
table
t1
;
#
#
# Bug #12053 LOAD DATA INFILE ignores NO_AUTO_VALUE_ON_ZERO setting
# Bug #12053 LOAD DATA INFILE ignores NO_AUTO_VALUE_ON_ZERO setting
#
#
...
@@ -59,6 +58,15 @@ select * from t1;
...
@@ -59,6 +58,15 @@ select * from t1;
SET
@@
SQL_MODE
=@
OLD_SQL_MODE
;
SET
@@
SQL_MODE
=@
OLD_SQL_MODE
;
drop
table
t1
;
drop
table
t1
;
#
# Bug #11203: LOAD DATA does not accept same characters for ESCAPED and
# ENCLOSED
#
create
table
t1
(
a
varchar
(
20
),
b
varchar
(
20
));
load
data
infile
'../../std_data/loaddata_dq.dat'
into
table
t1
fields
terminated
by
','
enclosed
by
'"'
escaped
by
'"'
(
a
,
b
);
select
*
from
t1
;
drop
table
t1
;
# End of 4.1 tests
# End of 4.1 tests
#
#
...
@@ -104,3 +112,5 @@ select * from t1;
...
@@ -104,3 +112,5 @@ select * from t1;
# cleanup
# cleanup
drop
table
t1
,
t2
;
drop
table
t1
,
t2
;
# End of 5.0 tests
sql/item.cc
View file @
305b58b8
...
@@ -3248,7 +3248,7 @@ bool Item_field::fix_fields(THD *thd, Item **reference)
...
@@ -3248,7 +3248,7 @@ bool Item_field::fix_fields(THD *thd, Item **reference)
Item
**
res
=
find_item_in_list
(
this
,
thd
->
lex
->
current_select
->
item_list
,
Item
**
res
=
find_item_in_list
(
this
,
thd
->
lex
->
current_select
->
item_list
,
&
counter
,
REPORT_EXCEPT_NOT_FOUND
,
&
counter
,
REPORT_EXCEPT_NOT_FOUND
,
&
not_used
);
&
not_used
);
if
(
res
!=
not_found_item
&&
(
*
res
)
->
type
()
==
Item
::
FIELD_ITEM
)
if
(
res
!=
(
Item
**
)
not_found_item
&&
(
*
res
)
->
type
()
==
Item
::
FIELD_ITEM
)
{
{
set_field
((
*
((
Item_field
**
)
res
))
->
field
);
set_field
((
*
((
Item_field
**
)
res
))
->
field
);
return
0
;
return
0
;
...
...
sql/sql_load.cc
View file @
305b58b8
...
@@ -1014,8 +1014,23 @@ int READ_INFO::read_field()
...
@@ -1014,8 +1014,23 @@ int READ_INFO::read_field()
*
to
++=
(
byte
)
escape_char
;
*
to
++=
(
byte
)
escape_char
;
goto
found_eof
;
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
#ifdef ALLOW_LINESEPARATOR_IN_STRINGS
if
(
chr
==
line_term_char
)
if
(
chr
==
line_term_char
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment