Skip to content

Commit a01ef79

Browse files
committed
Update project queries to faster search function
1 parent e2f184d commit a01ef79

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

share-api/src/Share/Postgres/Queries.hs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,22 +156,20 @@ searchProjects caller userIdFilter (Query query) psk limit = do
156156
PG.queryListRows @(Project PG.:. PG.Only UserHandle)
157157
[PG.sql|
158158
SELECT p.id, p.owner_user_id, p.slug, p.summary, p.tags, p.private, p.created_at, p.updated_at, owner.handle
159-
FROM projects p
159+
FROM projects_searchable_by_user(#{caller}) p
160160
JOIN users owner ON p.owner_user_id = owner.id
161161
WHERE p.owner_user_id = #{userId}
162-
AND user_has_project_permission(#{caller}, p.id, #{ProjectView})
163162
ORDER BY p.created_at DESC
164163
LIMIT #{limit}
165164
|]
166165
_ -> do
167166
PG.queryListRows
168167
[PG.sql|
169168
SELECT p.id, p.owner_user_id, p.slug, p.summary, p.tags, p.private, p.created_at, p.updated_at, owner.handle
170-
FROM websearch_to_tsquery('english', #{query}) AS tokenquery, projects AS p
169+
FROM websearch_to_tsquery('english', #{query}) AS tokenquery, projects_searchable_by_user(#{caller}) AS p
171170
JOIN users AS owner ON p.owner_user_id = owner.id
172171
WHERE (tokenquery @@ p.project_text_document OR p.slug ILIKE ('%' || like_escape(#{query}) || '%'))
173172
AND (#{userIdFilter} IS NULL OR p.owner_user_id = #{userIdFilter})
174-
AND user_has_project_permission(#{caller}, p.id, #{ProjectView})
175173
^{pskFilter}
176174
ORDER BY
177175
p.slug = #{query} DESC,

0 commit comments

Comments
 (0)