From: Michael T. <zg...@be...> - 2001-12-26 22:55:32
|
Shawn K. Quinn wrote: This could be solved by adding a 32-bit unique game ID to each game and keying the bookmark off of that. Tying a unique game identifier to each game which is guaranteed never to change (and keeping track of each number thus used) would pretty much quash the current issue with game numbers that get changed every time the database is resorted. John Wiegley replied: When a database is changed, it knows any bookmarks related to it will need to be changed. Thus, before every changing operation, it should build a very small table of "database index -> bookmark -> game". Then, every time an index changes, look it up in the table, and adjust the bookmarks accordingly. If the code for this can be placed at a very basic level (generic database operations), then the database would stay in sync with the bookmarks at all times. Doing it the other way around, where the database itself has to know at all times what the bookmark relationships are, seems like a huge waste of space. The moments in time when the knowledge is required are very few, so it's worth the little bit of extra CPU to handle the updating then. Michael Thomas replied: Makes sense to me. One or two extra functions to the sorting routines. |