Description
Bug Report
Describe the current, buggy behavior
For #168 we've added logic to emulate WordPress Core's SQL mode compatibility hacks for the commands where we run the mysql
binary directly.
PR #170 adds this for the db import
command, except for the use case where we have mysql
feed directly from STDIN
.
For this use case, right now, WordPress Core is not compatible with MySQL 5.7+ because of its incompatible default SQL modes.
Describe what you would expect as the correct outcome
WP-CLI should behave similar to WordPress Core in all scenarios, even when having SQL code be fed to db import
via STDIN
.
This should not jus read the entire STDIN
into memory, as that can lead to out-of-memory errors or create issues over networks.
Provide a possible solution
This might be doable (read: needs a POC, as unsure) by using proc_open
to create a new process and handing it a pipe as STDIN that we control from PHP.
Then we could fwrite()
our compact code into the pipe first, and then stream_copy_contents
from actual STDIN
into that pipe.