Commit 21f4e8aa authored by tnurnberg@mysql.com's avatar tnurnberg@mysql.com
Browse files

Bug#10418: LOAD_FILE does not behave like in manual if file does not exist

load_file() string-function should return NULL rather than throw an error if
the file doesn't exist, as per the manual.
parent 0928ae9b
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1000,3 +1000,10 @@ t
1000000
1      
drop table t1;
select load_file("lkjlkj");
load_file("lkjlkj")
NULL
select ifnull(load_file("lkjlkj"),"it's null");
ifnull(load_file("lkjlkj"),"it's null")
it's null
End of 4.1 tests
+29 B (988 B)

File changed.

No diff preview for this file type.

+8 −1
Original line number Diff line number Diff line
@@ -662,4 +662,11 @@ select rpad(i, 7, ' ') as t from t1;
--disable_metadata
drop table t1;

# End of 4.1 tests
#
# Bug #10418: LOAD_FILE does not behave like in manual if file does not exist
#

select load_file("lkjlkj");
select ifnull(load_file("lkjlkj"),"it's null");

--echo End of 4.1 tests
+0 −1
Original line number Diff line number Diff line
@@ -38,7 +38,6 @@ select load_file(concat(@tmpdir,"/outfile-test.3"));
#--error 1086
#eval select * into dumpfile "$MYSQL_TEST_DIR/var/tmp/outfile-test.3" from t1;
#enable_query_log;
--error 13,2
select load_file(concat(@tmpdir,"/outfile-test.not-exist"));
--exec rm $MYSQL_TEST_DIR/var/tmp/outfile-test.1
--exec rm $MYSQL_TEST_DIR/var/tmp/outfile-test.2
+1 −1
Original line number Diff line number Diff line
@@ -2489,7 +2489,7 @@ String *Item_load_file::val_str(String *str)
  (void) fn_format(path, file_name->c_ptr(), mysql_real_data_home, "",
		   MY_RELATIVE_PATH | MY_UNPACK_FILENAME);

  if (!my_stat(path, &stat_info, MYF(MY_WME)))
  if (!my_stat(path, &stat_info, MYF(0)))
    goto err;

  if (!(stat_info.st_mode & S_IROTH))