···217217 rows, err := db.Query(`
218218 SELECT uri, author_did, motivation, body_value, body_format, body_uri, target_source, target_hash, target_title, selector_json, tags_json, created_at, indexed_at, cid
219219 FROM annotations
220220- WHERE tags_json::jsonb ? $1
220220+ WHERE EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $1)
221221 ORDER BY created_at DESC
222222 LIMIT $2 OFFSET $3
223223 `, tag, limit, offset)
···233233 rows, err := db.Query(`
234234 SELECT uri, author_did, motivation, body_value, body_format, body_uri, target_source, target_hash, target_title, selector_json, tags_json, created_at, indexed_at, cid
235235 FROM annotations
236236- WHERE tags_json::jsonb ? $1 AND uri NOT LIKE '%network.cosmik%'
236236+ WHERE EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $1) AND uri NOT LIKE '%network.cosmik%'
237237 ORDER BY created_at DESC
238238 LIMIT $2 OFFSET $3
239239 `, tag, limit, offset)
···249249 rows, err := db.Query(`
250250 SELECT uri, author_did, motivation, body_value, body_format, body_uri, target_source, target_hash, target_title, selector_json, tags_json, created_at, indexed_at, cid
251251 FROM annotations
252252- WHERE tags_json::jsonb ? $1 AND uri LIKE '%network.cosmik%'
252252+ WHERE EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $1) AND uri LIKE '%network.cosmik%'
253253 ORDER BY created_at DESC
254254 LIMIT $2 OFFSET $3
255255 `, tag, limit, offset)
···279279 rows, err := db.Query(`
280280 SELECT uri, author_did, motivation, body_value, body_format, body_uri, target_source, target_hash, target_title, selector_json, tags_json, created_at, indexed_at, cid
281281 FROM annotations
282282- WHERE author_did = $1 AND tags_json::jsonb ? $2
282282+ WHERE author_did = $1 AND EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $2)
283283 ORDER BY created_at DESC
284284 LIMIT $3 OFFSET $4
285285 `, authorDID, tag, limit, offset)
···295295 rows, err := db.Query(`
296296 SELECT uri, author_did, motivation, body_value, body_format, body_uri, target_source, target_hash, target_title, selector_json, tags_json, created_at, indexed_at, cid
297297 FROM annotations
298298- WHERE author_did = $1 AND tags_json::jsonb ? $2 AND uri NOT LIKE '%network.cosmik%'
298298+ WHERE author_did = $1 AND EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $2) AND uri NOT LIKE '%network.cosmik%'
299299 ORDER BY created_at DESC
300300 LIMIT $3 OFFSET $4
301301 `, authorDID, tag, limit, offset)
···311311 rows, err := db.Query(`
312312 SELECT uri, author_did, motivation, body_value, body_format, body_uri, target_source, target_hash, target_title, selector_json, tags_json, created_at, indexed_at, cid
313313 FROM annotations
314314- WHERE author_did = $1 AND tags_json::jsonb ? $2 AND uri LIKE '%network.cosmik%'
314314+ WHERE author_did = $1 AND EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $2) AND uri LIKE '%network.cosmik%'
315315 ORDER BY created_at DESC
316316 LIMIT $3 OFFSET $4
317317 `, authorDID, tag, limit, offset)
+6-6
backend/internal/db/queries_bookmarks.go
···131131 rows, err := db.Query(`
132132 SELECT uri, author_did, source, source_hash, title, description, tags_json, created_at, indexed_at, cid
133133 FROM bookmarks
134134- WHERE tags_json::jsonb ? $1
134134+ WHERE EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $1)
135135 ORDER BY created_at DESC
136136 LIMIT $2 OFFSET $3
137137 `, tag, limit, offset)
···147147 rows, err := db.Query(`
148148 SELECT uri, author_did, source, source_hash, title, description, tags_json, created_at, indexed_at, cid
149149 FROM bookmarks
150150- WHERE tags_json::jsonb ? $1 AND uri NOT LIKE '%network.cosmik%'
150150+ WHERE EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $1) AND uri NOT LIKE '%network.cosmik%'
151151 ORDER BY created_at DESC
152152 LIMIT $2 OFFSET $3
153153 `, tag, limit, offset)
···163163 rows, err := db.Query(`
164164 SELECT uri, author_did, source, source_hash, title, description, tags_json, created_at, indexed_at, cid
165165 FROM bookmarks
166166- WHERE tags_json::jsonb ? $1 AND uri LIKE '%network.cosmik%'
166166+ WHERE EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $1) AND uri LIKE '%network.cosmik%'
167167 ORDER BY created_at DESC
168168 LIMIT $2 OFFSET $3
169169 `, tag, limit, offset)
···179179 rows, err := db.Query(`
180180 SELECT uri, author_did, source, source_hash, title, description, tags_json, created_at, indexed_at, cid
181181 FROM bookmarks
182182- WHERE author_did = $1 AND tags_json::jsonb ? $2
182182+ WHERE author_did = $1 AND EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $2)
183183 ORDER BY created_at DESC
184184 LIMIT $3 OFFSET $4
185185 `, authorDID, tag, limit, offset)
···195195 rows, err := db.Query(`
196196 SELECT uri, author_did, source, source_hash, title, description, tags_json, created_at, indexed_at, cid
197197 FROM bookmarks
198198- WHERE author_did = $1 AND tags_json::jsonb ? $2 AND uri NOT LIKE '%network.cosmik%'
198198+ WHERE author_did = $1 AND EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $2) AND uri NOT LIKE '%network.cosmik%'
199199 ORDER BY created_at DESC
200200 LIMIT $3 OFFSET $4
201201 `, authorDID, tag, limit, offset)
···211211 rows, err := db.Query(`
212212 SELECT uri, author_did, source, source_hash, title, description, tags_json, created_at, indexed_at, cid
213213 FROM bookmarks
214214- WHERE author_did = $1 AND tags_json::jsonb ? $2 AND uri LIKE '%network.cosmik%'
214214+ WHERE author_did = $1 AND EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $2) AND uri LIKE '%network.cosmik%'
215215 ORDER BY created_at DESC
216216 LIMIT $3 OFFSET $4
217217 `, authorDID, tag, limit, offset)
+6-6
backend/internal/db/queries_highlights.go
···132132 rows, err := db.Query(`
133133 SELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cid
134134 FROM highlights
135135- WHERE tags_json::jsonb ? $1
135135+ WHERE EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $1)
136136 ORDER BY created_at DESC
137137 LIMIT $2 OFFSET $3
138138 `, tag, limit, offset)
···148148 rows, err := db.Query(`
149149 SELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cid
150150 FROM highlights
151151- WHERE tags_json::jsonb ? $1 AND uri NOT LIKE '%network.cosmik%'
151151+ WHERE EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $1) AND uri NOT LIKE '%network.cosmik%'
152152 ORDER BY created_at DESC
153153 LIMIT $2 OFFSET $3
154154 `, tag, limit, offset)
···164164 rows, err := db.Query(`
165165 SELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cid
166166 FROM highlights
167167- WHERE tags_json::jsonb ? $1 AND uri LIKE '%network.cosmik%'
167167+ WHERE EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $1) AND uri LIKE '%network.cosmik%'
168168 ORDER BY created_at DESC
169169 LIMIT $2 OFFSET $3
170170 `, tag, limit, offset)
···180180 rows, err := db.Query(`
181181 SELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cid
182182 FROM highlights
183183- WHERE author_did = $1 AND tags_json::jsonb ? $2
183183+ WHERE author_did = $1 AND EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $2)
184184 ORDER BY created_at DESC
185185 LIMIT $3 OFFSET $4
186186 `, authorDID, tag, limit, offset)
···196196 rows, err := db.Query(`
197197 SELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cid
198198 FROM highlights
199199- WHERE author_did = $1 AND tags_json::jsonb ? $2 AND uri NOT LIKE '%network.cosmik%'
199199+ WHERE author_did = $1 AND EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $2) AND uri NOT LIKE '%network.cosmik%'
200200 ORDER BY created_at DESC
201201 LIMIT $3 OFFSET $4
202202 `, authorDID, tag, limit, offset)
···212212 rows, err := db.Query(`
213213 SELECT uri, author_did, target_source, target_hash, target_title, selector_json, color, tags_json, created_at, indexed_at, cid
214214 FROM highlights
215215- WHERE author_did = $1 AND tags_json::jsonb ? $2 AND uri LIKE '%network.cosmik%'
215215+ WHERE author_did = $1 AND EXISTS(SELECT 1 FROM jsonb_array_elements_text(tags_json::jsonb) elem WHERE lower(elem) = $2) AND uri LIKE '%network.cosmik%'
216216 ORDER BY created_at DESC
217217 LIMIT $3 OFFSET $4
218218 `, authorDID, tag, limit, offset)