Make WordPress Core

Changes between Initial Version and Version 1 of Ticket #41796, comment 9


Ignore:
Timestamp:
09/15/2017 03:03:27 AM (8 years ago)
Author:
boonebgorges
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #41796, comment 9

    initial v1  
    99The last option seems like the best, but it is not straightforward. The naive solution: When `number` accompanies `object_ids`, don't add the `LIMIT` clause; Fetch all results, and trim down to `number` in PHP. This is going to kill sites like wordpress.org in a different way (instead of `DISTINCT`, it'll be the 500,000 tags in memory).
    1010
    11 A more complicated PHP solution is to use the `LIMIT` logic, and then to detect in PHP when the returned and deduped results are less than `number`. If so, recursively requery for `$number -
    12  count( $results )`. Eg: `number=10`; deduping from `object_ids` gives you 8; `WP_Term_Query` requeries `number=2&offset=8` and appends the results; etc until we have 10. This is likely to be very complicated.
     11A more complicated PHP solution is to use the `LIMIT` logic, and then to detect in PHP when the returned and deduped results are less than `number`. If so, recursively requery for {{{$number - count( $results )}}}. Eg: `number=10`; deduping from `object_ids` gives you 8; `WP_Term_Query` requeries `number=2&offset=8` and appends the results; etc until we have 10. This is likely to be very complicated.
    1312
    1413If anyone has good ideas, please share them. Otherwise I think we might go with option 2 (the status quo).