| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| * @var string[] Array of SQL mode names that are incompatible with WordPress. | ||
| */ | ||
| protected $sql_incompatible_modes = [ | ||
| protected $sql_incompatible_modes = array( |
There was a problem hiding this comment.
Can you please revert changes in this and similar unrelated lines? For fixing code sniffer issues, please use composer run phpcbf. It seems you are using separate sniffer rules here.
Sorry, something went wrong.
|
@imrraaj Also can you please add Behat test for this new feature? Ref - https://make.wordpress.org/cli/handbook/contributions/pull-requests/#functional-tests |
Sorry, something went wrong.
|
@ernilambar I'll do the necessary changes and I'll add the tests for the same |
Sorry, something went wrong.
|
I hope you merge this into the new version of the WP CLI soon. I am still looking for a workaround to exclude revisions while exporting the database, but I can't find it yet. |
Sorry, something went wrong.
There was a problem hiding this comment.
This PR adds an --exclude_revisions flag to the wp db search command to filter out revision posts from search results in the wp_posts table.
Key changes:
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| src/DB_Command.php | Added --exclude_revisions flag implementation with WHERE clause filtering for wp_posts table |
| features/db-search.feature | Added test scenario verifying revision exclusion behavior |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Sorry, something went wrong.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Codecov Report❌ Patch coverage is 87.50000% with 1 line in your changes missing coverage. Please review.
📢 Thoughts on this report? Let us know! |
Sorry, something went wrong.
|
/gemini review |
Sorry, something went wrong.
There was a problem hiding this comment.
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Sorry, something went wrong.
| foreach ( $text_columns as $column ) { | ||
| $column_sql = self::esc_sql_ident( $column ); | ||
| $column_sql = self::esc_sql_ident( $column ); | ||
| $post_type_sql = self::esc_sql_ident( 'post_type' ); | ||
| if ( $regex ) { |
There was a problem hiding this comment.
$post_type_sql is computed for every text column, but it never changes and is only needed when $exclude_revisions applies. Moving this identifier escaping outside the inner $text_columns loop (or only computing it when needed) would reduce repeated work and make the control flow easier to follow.
Sorry, something went wrong.
| if ( $exclude_revisions && $wpdb->posts === $table ) { | ||
| // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Escaped through esc_sql_ident/esc_like. | ||
| $results = $wpdb->get_results( "SELECT {$primary_key_sql}{$column_sql} FROM {$table_sql} WHERE {$post_type_sql} NOT IN ( 'revision' )" ); | ||
| } else { | ||
| // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Escaped through esc_sql_ident/esc_like. | ||
| $results = $wpdb->get_results( "SELECT {$primary_key_sql}{$column_sql} FROM {$table_sql}" ); | ||
| } | ||
| } elseif ( $exclude_revisions && $wpdb->posts === $table ) { | ||
| // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Escaped through esc_sql_ident/esc_like. | ||
| $results = $wpdb->get_results( "SELECT {$primary_key_sql}{$column_sql} FROM {$table_sql}" ); | ||
| $results = $wpdb->get_results( $wpdb->prepare( "SELECT {$primary_key_sql}{$column_sql} FROM {$table_sql} WHERE {$column_sql} LIKE %s AND {$post_type_sql} NOT IN ( 'revision' )", $esc_like_search ) ); |
There was a problem hiding this comment.
--exclude_revisions is only applied when $table === $wpdb->posts, which means revisions will still appear when searching a different posts table name (e.g. wp_2_posts during --network/--all-tables-with-prefix, or when the user explicitly passes another posts table). Consider applying the filter based on the table being a posts table (e.g. suffix check + verifying a post_type column exists), rather than only the current site's $wpdb->posts value.
Sorry, something went wrong.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| Back | FazBrowse Home | New Git URL |
This PR implements the exclude_revisions flag for wp db search command. This flag allows users to exclude revisions from the search results.
PR fixes following issues:
Usage