mirror of
https://github.com/MariaDB/server.git
synced 2026-04-30 12:15:32 +02:00
WHEN STDIN IS A PIPE
Problem: Mysqlbinlog does not accept the input from STDIN when
STDIN is a pipe. This prevents the users from passing the input file
through a shell pipe.
Background: The my_seek() function does not check if the file descriptor
passed to it is regular (seekable) file. The check_header() function in
mysqlbinlog calls the my_b_seek() unconditionally and it fails when
the underlying file is a PIPE.
Resolution: We resolve this problem by checking if the underlying file
is a regular file by using my_fstat() before calling my_b_seek().
If the underlying file is not seekable we skip the call to my_b_seek()
in check_header().
client/mysqlbinlog.cc:
Added a check to avoid the my_b_seek() call if the
underlying file is a PIPE.
|
||
|---|---|---|
| .. | ||
| .cvsignore | ||
| client_priv.h | ||
| CMakeLists.txt | ||
| completion_hash.cc | ||
| completion_hash.h | ||
| echo.c | ||
| get_password.c | ||
| Makefile.am | ||
| my_readline.h | ||
| mysql.cc | ||
| mysql_upgrade.c | ||
| mysqladmin.cc | ||
| mysqlbinlog.cc | ||
| mysqlcheck.c | ||
| mysqldump.c | ||
| mysqlimport.c | ||
| mysqlshow.c | ||
| mysqlslap.c | ||
| mysqltest.cc | ||
| readline.cc | ||
| sql_string.cc | ||
| sql_string.h | ||