mirror of
https://git.sr.ht/~cismonx/bookmarkfs
synced 2025-06-07 11:48:51 +00:00
backend_firefox: hide dangling keywords
When a bookmark associated with a keyword is deleted, there may still be dangling references (e.g., tags) to the corresponding `moz_places` entry. By filtering out NULL titles, `bookmark_lookup()` and `bookmark_list()` now only give keywords associated with valid bookmarks.
This commit is contained in:
parent
6fb9438d3c
commit
b5fa6960ef
1 changed files with 4 additions and 2 deletions
|
@ -2175,7 +2175,8 @@ bookmark_do_list (
|
||||||
"SELECT min(`b`.`id`), `k`.`id`, `k`.`keyword`" cols " " \
|
"SELECT min(`b`.`id`), `k`.`id`, `k`.`keyword`" cols " " \
|
||||||
"FROM `moz_keywords` `k` " join \
|
"FROM `moz_keywords` `k` " join \
|
||||||
"JOIN `moz_bookmarks` `b` ON `k`.`place_id` = `b`.`fk` " \
|
"JOIN `moz_bookmarks` `b` ON `k`.`place_id` = `b`.`fk` " \
|
||||||
"WHERE `k`.`id` >= ?2 GROUP BY `k`.`place_id` ORDER BY `k`.`id`"
|
"WHERE `k`.`id` >= ?2 AND `b`.`title` IS NOT NULL " \
|
||||||
|
"GROUP BY `k`.`place_id` ORDER BY `k`.`id`"
|
||||||
#define BOOKMARK_LIST_KEYWORD BOOKMARK_LIST_KEYWORD_(,)
|
#define BOOKMARK_LIST_KEYWORD BOOKMARK_LIST_KEYWORD_(,)
|
||||||
#define BOOKMARK_LIST_KEYWORD_EX \
|
#define BOOKMARK_LIST_KEYWORD_EX \
|
||||||
BOOKMARK_LIST_KEYWORD_(", " BOOKMARK_LIST_EX_COLS_, \
|
BOOKMARK_LIST_KEYWORD_(", " BOOKMARK_LIST_EX_COLS_, \
|
||||||
|
@ -2267,7 +2268,8 @@ bookmark_do_lookup (
|
||||||
#define PLACE_ID_BY_KEYWORD(val) \
|
#define PLACE_ID_BY_KEYWORD(val) \
|
||||||
"SELECT `place_id` FROM `moz_keywords` WHERE `keyword` = " val
|
"SELECT `place_id` FROM `moz_keywords` WHERE `keyword` = " val
|
||||||
#define BOOKMARK_LOOKUP_PLACE_ID_(val) \
|
#define BOOKMARK_LOOKUP_PLACE_ID_(val) \
|
||||||
BOOKMARK_LOOKUP_(, "`b`.`fk` = " val " ORDER BY `b`.`id` LIMIT 1")
|
BOOKMARK_LOOKUP_(, "`b`.`fk` = " val " AND `b`.`title` IS NOT NULL " \
|
||||||
|
"ORDER BY `b`.`id` LIMIT 1")
|
||||||
#define BOOKMARK_LOOKUP_KEYWORD_(val) \
|
#define BOOKMARK_LOOKUP_KEYWORD_(val) \
|
||||||
BOOKMARK_LOOKUP_PLACE_ID_("(" PLACE_ID_BY_KEYWORD(val) ")")
|
BOOKMARK_LOOKUP_PLACE_ID_("(" PLACE_ID_BY_KEYWORD(val) ")")
|
||||||
#define BOOKMARK_LOOKUP_KEYWORD BOOKMARK_LOOKUP_KEYWORD_("?2")
|
#define BOOKMARK_LOOKUP_KEYWORD BOOKMARK_LOOKUP_KEYWORD_("?2")
|
||||||
|
|
Loading…
Add table
Reference in a new issue