Use delete query format suppored by wpdb::get_table_from_query() in Abstract_WC_Order_Data_Store_CPT::delete_items() #46692
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.
Changes proposed in this Pull Request:
Closes #46639.
This change updates the delete queries for order item meta in
Abstract_WC_Order_Data_Store_CPT::delete_items()
from the format ofDELETE FROM {alias} USING {table} {alias}
to a format ofDELETE {alias} FROM {table} as {alias}
. The former is not a format supported bywpdb::get_table_from_query()
in WordPress core, so::get_table_from_query()
instead returns the alias as the table name. This breaks DB extensions like HyperDB that rely on the table name to determine what dataset to query from.How to test the changes in this Pull Request:
This is difficult to isolate this specific code for testing. One option is to setup a site using HyperDB to route queries in a way that configured to only recognize tables starting with the default
wp_
table prefix and attempt to remove order items from an order.Alternatively, we can validate the queries specifically by duplicating them in a custom unit test that uses the
WpdbExposedMethodsForTesting
to expose the::get_table_from_query()
method. E.g:Changelog entry
Significance
Type
Message Update delete item meta query to format supported by wpdb::get_table_from_query()
Comment