[wp-trac] [WordPress Trac] #22191: In update_metadata(), compare old/new values before deciding whether to call add_metadata()

WordPress Trac wp-trac at lists.automattic.com
Mon Oct 15 03:14:38 UTC 2012


#22191: In update_metadata(), compare old/new values before deciding whether to
call add_metadata()
--------------------------+------------------
 Reporter:  nacin         |       Owner:
     Type:  defect (bug)  |      Status:  new
 Priority:  normal        |   Milestone:  3.5
Component:  Performance   |     Version:
 Severity:  normal        |  Resolution:
 Keywords:  has-patch     |
--------------------------+------------------
Description changed by nacin:

Old description:

> 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: #22191, the strict type comparison causes false negatives.

New description:

 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.

--

-- 
Ticket URL: <http://core.trac.wordpress.org/ticket/22191#comment:1>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list