> 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

Reply via email to