Ensures predictable performance for teardown and purge.

Per T189926, API command=teardown had potential to trigger large
database updates before the request could be fulfilled, resulting
in loss of performance. There were related potentials within the
logic used to purge soft-deleted lists and list entries via a
maintenance script.

With this patch:
	- reading lists now soft-delete on user teardown
	- reading lists and entries are now purged 1000 at a time
	- a warning is logged if more than one 'rl_default' occurs
	- unit testing of 'purgeOldDeleted' now treats all cases

Bug: T189926
Change-Id: I064d0d83ab647f1495141685f2c35fcf6fd42df8
2 files changed
tree: 6ac26c1d6db51e913ff0c9b1429c0236d8dac290
  1. .eslintrc.json
  2. .gitignore
  3. .gitreview
  4. .phpcs.xml
  5. .stylelintrc.json
  6. CODE_OF_CONDUCT.md
  7. Gruntfile.js
  8. LICENSE
  9. README.md
  10. ServiceWiring.php
  11. composer.json
  12. extension.json
  13. i18n/
  14. maintenance/
  15. package.json
  16. sql/
  17. src/
  18. tests/
README.md

This extension provides an API through which users can manage private lists of articles, such as bookmarks or "Read Later" lists.

The extension is designed for use on wiki farms; it stores articles as domain name + title pairs, so that the list service can be setup on a single central wiki.