BUG#59267 LOAD DATA LOCAL INFILE not executed on slave with SBR
On windows, an #endif in a wrong place was causing an early return from mysql_load and thus the LOAD DATA LOCAL was not executed. This problem was fixed by moving the #endif to the right place. The following code was missing if ((stat_info.st_mode & S_IFIFO) == S_IFIFO) is_fifo = 1; which is required to properly configure and read from the IO_CACHE when a named pipe is used. So it was re-introduced before the #endif.
This commit is contained in:
parent
493c6e57b7
commit
c04979b841
@ -74,6 +74,21 @@ LOAD/*!99999 special comments that do not expand */DATA/*!99999 code from the fu
|
|||||||
SET sql_mode='PIPES_AS_CONCAT,ANSI_QUOTES,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER';
|
SET sql_mode='PIPES_AS_CONCAT,ANSI_QUOTES,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER';
|
||||||
LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql' INTO TABLE t1;
|
LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug43746.sql' INTO TABLE t1;
|
||||||
[slave]
|
[slave]
|
||||||
|
|
||||||
|
Bug #59267:
|
||||||
|
"LOAD DATA LOCAL INFILE not executed on slave with SBR"
|
||||||
|
|
||||||
|
[master]
|
||||||
|
SELECT * INTO OUTFILE 'MYSQLD_DATADIR/bug59267.sql' FROM t1;
|
||||||
|
TRUNCATE TABLE t1;
|
||||||
|
LOAD DATA LOCAL INFILE 'MYSQLD_DATADIR/bug59267.sql' INTO TABLE t1;
|
||||||
|
SELECT 'Master', COUNT(*) FROM t1;
|
||||||
|
Master COUNT(*)
|
||||||
|
Master 44
|
||||||
|
[slave]
|
||||||
|
SELECT 'Slave', COUNT(*) FROM t1;
|
||||||
|
Slave COUNT(*)
|
||||||
|
Slave 44
|
||||||
[master]
|
[master]
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
SET SESSION sql_mode=@old_mode;
|
SET SESSION sql_mode=@old_mode;
|
||||||
|
@ -151,12 +151,34 @@ eval LOAD DATA LOCAL INFILE '$MYSQLD_DATADIR/bug43746.sql' INTO TABLE t1;
|
|||||||
--echo [slave]
|
--echo [slave]
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
|
|
||||||
# cleanup
|
--echo
|
||||||
|
--echo Bug #59267:
|
||||||
--remove_file $MYSQLD_DATADIR/bug43746.sql
|
--echo "LOAD DATA LOCAL INFILE not executed on slave with SBR"
|
||||||
|
--echo
|
||||||
|
|
||||||
--echo [master]
|
--echo [master]
|
||||||
connection master;
|
connection master;
|
||||||
|
|
||||||
|
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||||
|
eval SELECT * INTO OUTFILE '$MYSQLD_DATADIR/bug59267.sql' FROM t1;
|
||||||
|
TRUNCATE TABLE t1;
|
||||||
|
|
||||||
|
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||||
|
eval LOAD DATA LOCAL INFILE '$MYSQLD_DATADIR/bug59267.sql' INTO TABLE t1;
|
||||||
|
|
||||||
|
SELECT 'Master', COUNT(*) FROM t1;
|
||||||
|
|
||||||
|
--echo [slave]
|
||||||
|
--sync_slave_with_master
|
||||||
|
SELECT 'Slave', COUNT(*) FROM t1;
|
||||||
|
|
||||||
|
# cleanup
|
||||||
|
--echo [master]
|
||||||
|
connection master;
|
||||||
|
|
||||||
|
--remove_file $MYSQLD_DATADIR/bug43746.sql
|
||||||
|
--remove_file $MYSQLD_DATADIR/bug59267.sql
|
||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
SET SESSION sql_mode=@old_mode;
|
SET SESSION sql_mode=@old_mode;
|
||||||
|
|
||||||
|
@ -410,9 +410,11 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
|
|||||||
my_error(ER_TEXTFILE_NOT_READABLE, MYF(0), name);
|
my_error(ER_TEXTFILE_NOT_READABLE, MYF(0), name);
|
||||||
DBUG_RETURN(TRUE);
|
DBUG_RETURN(TRUE);
|
||||||
}
|
}
|
||||||
|
if ((stat_info.st_mode & S_IFIFO) == S_IFIFO)
|
||||||
|
is_fifo = 1;
|
||||||
|
#endif
|
||||||
if ((file= mysql_file_open(key_file_load,
|
if ((file= mysql_file_open(key_file_load,
|
||||||
name, O_RDONLY, MYF(MY_WME))) < 0)
|
name, O_RDONLY, MYF(MY_WME))) < 0)
|
||||||
#endif
|
|
||||||
|
|
||||||
DBUG_RETURN(TRUE);
|
DBUG_RETURN(TRUE);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user