Skip to content

SQL mode compat logic is missing for SQL from STDIN #171

Open
@schlessera

Description

@schlessera

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions