Make WordPress Core

Opened 6 years ago

Last modified 6 years ago

#22191 closed defect (bug)

In update_metadata(), compare old/new values before deciding whether to call add_metadata() — at Version 1

Reported by: nacin Owned by:
Milestone: 3.5 Priority: normal
Severity: normal Version:
Component: Performance Keywords: has-patch
Focuses: Cc:

Description (last modified by nacin)

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.

Change History (2)

#1 @nacin
6 years ago

  • Description modified (diff)

6 years ago

Note: See TracTickets for help on using tickets.