3f7051bf81
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 |
||
---|---|---|
src | ||
tests | ||
tools/i18n | ||
.editorconfig | ||
.gitignore | ||
.jshintrc | ||
.travis.yml | ||
Gruntfile.js | ||
package.json | ||
phpunit.xml.dist | ||
wp-cli.yml | ||
wp-config-sample.php | ||
wp-tests-config-sample.php |