merge from 5.1
This commit is contained in:
commit
52d51b75e8
@ -539,4 +539,13 @@ CREATE TABLE t1(f1 INT);
|
|||||||
SELECT 0xE1BB30 INTO OUTFILE 't1.dat';
|
SELECT 0xE1BB30 INTO OUTFILE 't1.dat';
|
||||||
LOAD DATA INFILE 't1.dat' IGNORE INTO TABLE t1 CHARACTER SET utf8;
|
LOAD DATA INFILE 't1.dat' IGNORE INTO TABLE t1 CHARACTER SET utf8;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# Bug#11765141 - 58072: LOAD DATA INFILE: LEAKS IO CACHE MEMORY
|
||||||
|
# WHEN ERROR OCCURS
|
||||||
|
#
|
||||||
|
SELECT '1\n' INTO DUMPFILE 'MYSQLTEST_VARDIR/tmp/bug11735141.txt';
|
||||||
|
create table t1(a point);
|
||||||
|
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug11735141.txt' INTO TABLE t1;
|
||||||
|
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||||
|
drop table t1;
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
|
@ -615,4 +615,19 @@ DROP TABLE t1;
|
|||||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||||
remove_file $MYSQLD_DATADIR/test/t1.dat;
|
remove_file $MYSQLD_DATADIR/test/t1.dat;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # Bug#11765141 - 58072: LOAD DATA INFILE: LEAKS IO CACHE MEMORY
|
||||||
|
--echo # WHEN ERROR OCCURS
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
--let $file=$MYSQLTEST_VARDIR/tmp/bug11735141.txt
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
|
--eval SELECT '1\n' INTO DUMPFILE '$file'
|
||||||
|
|
||||||
|
create table t1(a point);
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
|
--error ER_CANT_CREATE_GEOMETRY_OBJECT
|
||||||
|
--eval LOAD DATA INFILE '$file' INTO TABLE t1
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
|
@ -1302,9 +1302,10 @@ READ_INFO::READ_INFO(File file_par, uint tot_length, CHARSET_INFO *cs,
|
|||||||
String &field_term, String &line_start, String &line_term,
|
String &field_term, String &line_start, String &line_term,
|
||||||
String &enclosed_par, int escape, bool get_it_from_net,
|
String &enclosed_par, int escape, bool get_it_from_net,
|
||||||
bool is_fifo)
|
bool is_fifo)
|
||||||
:file(file_par),escape_char(escape)
|
:file(file_par), buff_length(tot_length), escape_char(escape),
|
||||||
|
found_end_of_line(false), eof(false), need_end_io_cache(false),
|
||||||
|
error(false), line_cuted(false), found_null(false), read_charset(cs)
|
||||||
{
|
{
|
||||||
read_charset= cs;
|
|
||||||
field_term_ptr=(char*) field_term.ptr();
|
field_term_ptr=(char*) field_term.ptr();
|
||||||
field_term_length= field_term.length();
|
field_term_length= field_term.length();
|
||||||
line_term_ptr=(char*) line_term.ptr();
|
line_term_ptr=(char*) line_term.ptr();
|
||||||
@ -1332,8 +1333,6 @@ READ_INFO::READ_INFO(File file_par, uint tot_length, CHARSET_INFO *cs,
|
|||||||
(uchar) enclosed_par[0] : INT_MAX;
|
(uchar) enclosed_par[0] : INT_MAX;
|
||||||
field_term_char= field_term_length ? (uchar) field_term_ptr[0] : INT_MAX;
|
field_term_char= field_term_length ? (uchar) field_term_ptr[0] : INT_MAX;
|
||||||
line_term_char= line_term_length ? (uchar) line_term_ptr[0] : INT_MAX;
|
line_term_char= line_term_length ? (uchar) line_term_ptr[0] : INT_MAX;
|
||||||
error=eof=found_end_of_line=found_null=line_cuted=0;
|
|
||||||
buff_length=tot_length;
|
|
||||||
|
|
||||||
|
|
||||||
/* Set of a stack for unget if long terminators */
|
/* Set of a stack for unget if long terminators */
|
||||||
@ -1379,7 +1378,7 @@ READ_INFO::READ_INFO(File file_par, uint tot_length, CHARSET_INFO *cs,
|
|||||||
|
|
||||||
READ_INFO::~READ_INFO()
|
READ_INFO::~READ_INFO()
|
||||||
{
|
{
|
||||||
if (!error && need_end_io_cache)
|
if (need_end_io_cache)
|
||||||
::end_io_cache(&cache);
|
::end_io_cache(&cache);
|
||||||
|
|
||||||
if (buffer != NULL)
|
if (buffer != NULL)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user