Fix SQL mode check to respect custom connection parameters in wp db query#312
Draft
Fix SQL mode check to respect custom connection parameters in wp db query#312
wp db query#312Conversation
This check was causing authentication failures when custom connection parameters (like --host) were passed, because get_current_sql_modes() ignored those parameters. The check is also unnecessary since wp db query doesn't use WPDB directly, and was inconsistently applied (skipped for STDIN). Co-authored-by: swissspidy <841956+swissspidy@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix unnecessary check of sql modes in query command
Remove SQL mode check from Feb 17, 2026
wp db query to fix custom connection parameters
Member
|
@copilot 2 failing tests: |
The get_current_sql_modes() method was ignoring custom connection parameters like --host, --dbuser, and --defaults, causing authentication failures. Now it properly passes these parameters through when checking SQL modes. This fixes the reported issue while maintaining WordPress SQL mode compatibility for queries that need it. Co-authored-by: swissspidy <841956+swissspidy@users.noreply.github.com> Agent-Logs-Url: https://github.com/wp-cli/db-command/sessions/f848d9cd-25e0-4d45-863e-8037bec7af83
This comment was marked as resolved.
This comment was marked as resolved.
Copilot
AI
changed the title
Remove SQL mode check from
Fix SQL mode check to respect custom connection parameters in Mar 20, 2026
wp db query to fix custom connection parameterswp db query
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
wp db queryfails when custom connection parameters like--hostor--defaultsare provided because the SQL mode compatibility check ignores these parameters and attempts to connect to localhost.Root Cause
The
get_current_sql_modes()method was using an empty$args = []array instead of passing through connection parameters from$assoc_args. This caused it to ignore custom--host,--dbuser,--dbpass, and--defaultsparameters when checking SQL modes.Changes
src/DB_Command.phpget_current_sql_modes()to pass through connection parameters usingget_dbuser_dbpass_args()andget_mysql_args()query()method to ensure WordPress database compatibilityget_sql_mode_query()remains available for commands that need it (import,run_query)Example
Before this change, the following would fail:
After this change, custom connection parameters work as expected while maintaining SQL mode compatibility to prevent errors like:
Why SQL Mode Check is Necessary
The SQL mode check ensures WordPress database compatibility by removing strict modes like
STRICT_TRANS_TABLESandNO_ZERO_DATEthat are incompatible with WordPress table structures (e.g., columns with0000-00-00 00:00:00default values).Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.