Bug: when deleting a child post and the "Move favorites to parent?" option is
set, the parent's has_active_children flag is not cleared.
`give_favorites_to_parent` moves the votes, and moving the votes has the
side effect of reloading the post (to get the new score). But reloading
the post wipes out the is_deleted_changed? flag, which is used by `update_parent_on_save`.
Fix: update the `is_deleted` flag *before* moving favorites, so that the
`update_parent_on_save` callback runs before `give_favorite_to_parent` runs.
Fixes Post#get_count_from_cache to only lookup the count in the tags
table when the search is for a single "simple" tag.
Check memcache when the search is not a simple tag:
* multi-tag searches (touhou rating:s)
* single metatag searches (rating:s, source:"foo bar")
* negated tags (-touhou)
* wildcard tags (*touhou*)
* or searches (~touhou)
* Set parent IDs with `update` instead of `update_column` /
`update_all` when reparenting children. This fixes it so that new post
versions are saved and the has_children flag is set on the new parent.
* Slightly simplify logic of update_children_on_destroy: the single
child case is subsumed by the multi-child case.
Don't silently ignore attempts to remove posts from deleted pools.
Remove the restriction on removing posts from deleted pools instead (ref: #1109).
Fixes failure to remove posts from deleted pools during expungement.
* Change Post#pools to return all pools, including deleted pools. This
fixes remove_all_from_pools to remove the post from deleted pools too.
* Change other users of Post#pools to explicitly select undeleted pools.
Bug: if a user replaces a post with another image, then replaces the
post back to the original image, then the deletion job for the original
image will still run. The will delete the original file, but that file
is now in use again and should not be deleted.