Loading mysql-test/t/mysql.test +10 −4 Original line number Diff line number Diff line Loading @@ -251,16 +251,22 @@ drop table t17583; # # This should work just fine... --exec echo "DELIMITER /" > $MYSQLTEST_VARDIR/tmp/bug21412.sql --exec echo "SELECT 1/" >> $MYSQLTEST_VARDIR/tmp/bug21412.sql --write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql DELIMITER / SELECT 1/ EOF --exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1 # This should give an error... --exec echo "DELIMITER \\" > $MYSQLTEST_VARDIR/tmp/bug21412.sql --write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql DELIMITER \ EOF --exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1 # As should this... --exec echo "DELIMITER \\\\" > $MYSQLTEST_VARDIR/tmp/bug21412.sql --write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql DELIMITER \\ EOF --exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1 # Loading mysys/mf_iocache.c +19 −15 Original line number Diff line number Diff line Loading @@ -170,13 +170,16 @@ int init_io_cache(IO_CACHE *info, File file, uint cachesize, info->arg = 0; info->alloced_buffer = 0; info->buffer=0; info->seek_not_done= 0; if (file >= 0) { pos= my_tell(file, MYF(0)); if ((pos == (my_off_t) -1) && (my_errno == ESPIPE)) { /* This kind of object doesn't support seek() or tell(). Don't set a flag that will make us again try to seek() later and fail. This kind of object doesn't support seek() or tell(). Don't set a flag that will make us again try to seek() later and fail. */ info->seek_not_done= 0; /* Loading @@ -187,7 +190,8 @@ int init_io_cache(IO_CACHE *info, File file, uint cachesize, DBUG_ASSERT(seek_offset == 0); } else info->seek_not_done= test(file >= 0 && seek_offset != pos); info->seek_not_done= test(seek_offset != pos); } info->disk_writes= 0; #ifdef THREAD Loading Loading
mysql-test/t/mysql.test +10 −4 Original line number Diff line number Diff line Loading @@ -251,16 +251,22 @@ drop table t17583; # # This should work just fine... --exec echo "DELIMITER /" > $MYSQLTEST_VARDIR/tmp/bug21412.sql --exec echo "SELECT 1/" >> $MYSQLTEST_VARDIR/tmp/bug21412.sql --write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql DELIMITER / SELECT 1/ EOF --exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1 # This should give an error... --exec echo "DELIMITER \\" > $MYSQLTEST_VARDIR/tmp/bug21412.sql --write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql DELIMITER \ EOF --exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1 # As should this... --exec echo "DELIMITER \\\\" > $MYSQLTEST_VARDIR/tmp/bug21412.sql --write_file $MYSQLTEST_VARDIR/tmp/bug21412.sql DELIMITER \\ EOF --exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21412.sql 2>&1 # Loading
mysys/mf_iocache.c +19 −15 Original line number Diff line number Diff line Loading @@ -170,13 +170,16 @@ int init_io_cache(IO_CACHE *info, File file, uint cachesize, info->arg = 0; info->alloced_buffer = 0; info->buffer=0; info->seek_not_done= 0; if (file >= 0) { pos= my_tell(file, MYF(0)); if ((pos == (my_off_t) -1) && (my_errno == ESPIPE)) { /* This kind of object doesn't support seek() or tell(). Don't set a flag that will make us again try to seek() later and fail. This kind of object doesn't support seek() or tell(). Don't set a flag that will make us again try to seek() later and fail. */ info->seek_not_done= 0; /* Loading @@ -187,7 +190,8 @@ int init_io_cache(IO_CACHE *info, File file, uint cachesize, DBUG_ASSERT(seek_offset == 0); } else info->seek_not_done= test(file >= 0 && seek_offset != pos); info->seek_not_done= test(seek_offset != pos); } info->disk_writes= 0; #ifdef THREAD Loading