Could probably track changes in an internal lookup table, but only for future moves.
I want post #123, the system looks in the moved table, post not found, it must be in its original place. Post #123 is delivered to the user.
... someone moves post #123 and it becomes post #777 the lucky one. The system will add an entry:
#123 = #777
If I now want post #123, the system looks into the table, post is found, new id is #777. Post #777 is delivered to the user.
... someone moves post #777 and it becomes post #888. Another entry is added:
#123 = #777
#777 = #888
If I now want post #123, the system looks into the table, post is found, new id is #777. To make sure this post is valid, the system continues to look the posts up, until it is not in the list anymore. The second lookup will point it to #888 and the third returns a "not found".
So post #888 is delivered to the user.
It is some work, but I believe it is a very elegant solution for the future. Just add:
- old_id and new_id when a post is moved
- recursive id lookup before a post is delivered to the user
arc
PS: Could also replace the new_id #777 with #888 if another move happens, this would save space and remove the recursive lookup.
I want post #123, the system looks in the moved table, post not found, it must be in its original place. Post #123 is delivered to the user.
... someone moves post #123 and it becomes post #777 the lucky one. The system will add an entry:
#123 = #777
If I now want post #123, the system looks into the table, post is found, new id is #777. Post #777 is delivered to the user.
... someone moves post #777 and it becomes post #888. Another entry is added:
#123 = #777
#777 = #888
If I now want post #123, the system looks into the table, post is found, new id is #777. To make sure this post is valid, the system continues to look the posts up, until it is not in the list anymore. The second lookup will point it to #888 and the third returns a "not found".
So post #888 is delivered to the user.
It is some work, but I believe it is a very elegant solution for the future. Just add:
- old_id and new_id when a post is moved
- recursive id lookup before a post is delivered to the user
arc
PS: Could also replace the new_id #777 with #888 if another move happens, this would save space and remove the recursive lookup.
---