The diff tool shows the rows in the selected tables that were inserted, updated or deleted. For updated rows the columns that have changed values have the values highlighted – red for the original value and green for the new value. The columns are sortable and sorting may bring related rows closer together where they may be easier to compare. Although large values are truncated in table cells the full value is available by clicking on the table cell. Further, serialized values are prettified using JSON.stringify( value, 4 ).
Diff works by spying on database operations using the WordPress filter ‘query’. This will intercept all database operations done through the WordPress API, e.g. update_post_meta(), $wpdb->get_results(), … It will not spy on database operations done directly through the PHP MySQL API, e.g. mysqli_query(), mysql_query(), … Further, it cannot spy on database operations that occur before the filter is installed. The filter is installed when the plugin is loaded which is probably early enough for most uses but will not spy on database operations done on the load of plugins loaded before this plugin. Some of the more exotic MySQL commands are not currently handled. These will generate an error message like this “ERROR: ddt_post_query():unknown MySQL operation: …” using the error_log function.