mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-07-20 17:10:18 +00:00
3f7051bf819ceb17c2d2e12ade6706f3919f43d0
wp_insert_term(), clean up accidental duplicate terms after insert.
In [30056], the UNIQUE index was removed from the 'slug' column of `wp_terms`. While we have numerous checks in place to avoid the creation of unwanted duplicate term+term_taxonomy pairs, it's possible that in certain edge cases - such as during the lag caused by database replication, or a race condition involving near-simultaneous creation of more than one term - we'll end up unwittingly inserting two identical rows. The current changeset minimizes this risk by introducing a failsafe mechanism into `wp_insert_term()`. After a term and term_taxonomy are INSERTed, we check to see whether the term just created is a duplicate of an existing term; if so, we delete the new one and keep the old one. This prevents problems caused by replication lag, because SELECT queries that take place after an INSERT will hit the master database; it mitigates race conditions by enforcing that the term that was created first (ie, the one with the lowest `term_id`) is always the "canonical" one. Props nacin, markjaquith. See #22023, #5809. git-svn-id: https://develop.svn.wordpress.org/trunk@30238 602fd350-edb4-49c9-b593-d223f7449a82
Description
No description provided
Languages
PHP
80.5%
CSS
9.4%
JavaScript
8.5%
SCSS
0.9%
HTML
0.7%