Opened 12 years ago
Closed 12 years ago
#22191 closed defect (bug) (fixed)
In update_metadata(), compare old/new values before deciding whether to call add_metadata()
Reported by: | nacin | Owned by: | markjaquith |
---|---|---|---|
Milestone: | 3.5 | Priority: | normal |
Severity: | normal | Version: | |
Component: | Performance | Keywords: | has-patch |
Focuses: | Cc: |
Description (last modified by )
In update_metadata(), we query for a meta_id of an existing key. If it exists, we continue. If we get nothing back, we call add_metadata().
We also compare the old value with the new value, and if they are the same, we bail.
Since that old value is from cache, it is possible for update_metadata() to not run a single query on its own if there is nothing to update. Only, we do, because we do the meta_id query first.
We should do the meta_id query second. This is the same pattern used by update_option().
Related: #22192, the strict type comparison causes false negatives.
Attachments (1)
Change History (3)
Note: See
TracTickets for help on using
tickets.
In [22231]: