aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTusooa Zhu <tusooa@kazv.moe>2021-08-27 21:43:50 -0400
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>2021-08-28 18:26:04 +0200
commitbd0eb1c675c5a70e7ae97c17f6fa88e534776ca5 (patch)
treec3d22a4177d03fad2996a7a9be8c94c29593310d /test
parent53b0dd4ecc9f7f23983082cf610156f0840443a9 (diff)
downloadpleroma-bd0eb1c675c5a70e7ae97c17f6fa88e534776ca5.tar.gz
Make activity search properly use GIN indexes
The original approach to search in GIN indexes is to use `to_tsvector(text)` in the WHERE clause of the query. According to postgres docs [pdoc], this method does not make use of the index, while `to_tsvector(config, text)` does. This commit changed the query to use the two-argument `to_tsvector()`. [pdoc]: https://www.postgresql.org/docs/12/textsearch-tables.html To obtain the search config in use, we make a query to the db first. The `::regconfig::oid` hack is needed because Postgrex does not support regconfig type directly [postgrexbug]. I use the conversion from and to `oid` instead of `text` because I tested in the actual DB and querying using the conversion via `text` is slow just as the one-argument `to_tsvector()` variant. [postgrexbug]: https://github.com/elixir-ecto/postgrex/issues/502 Backport of: https://git.pleroma.social/pleroma/pleroma/-/merge_requests/3519 Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/2758
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions