> We've talked several times about representing bookmarks in a > one-record-per-bookmark setup with a kind of "materialized path" to > ensure that the tree remains consistent. Rather than using parent/child > pointers, each record would embed its full path and ordering information > via a clever-sounding mechanism called "tumblers":
This gets a little hairy around deletion, representation of the folders themselves, and content merging (e.g., for first-run setup -- that "Mozilla" folder needs to be identified by its children and title, so you've kinda shifted the problem). More concerningly, when you move a folder -- a single drag-and-drop which makes one or a handful of DB changes -- you now need to rewrite all of its children, all the way down the tree! And yeah, it probably relies on something magic like tumblers. Just using indices would still require safely touching multiple records during a leaf-node move. I suspect that working with explicit structure, but in a non-sucky way, is the best path forward. _______________________________________________ Sync-dev mailing list [email protected] https://mail.mozilla.org/listinfo/sync-dev

