Magma for Squeak Persistency
renggli at gmail.com
Mon Dec 6 18:59:02 MET 2010
> Editing does not change the structure. It can create outgoing links that need to be looked up. Moving to me includes managing of children if you move it to another hierarchy. But the incoming links still just point to the same objects. I don't know what is needed for copying. For removing neither it just produces broken incoming links. Did I miss a lot of things I'm not aware of?
Yes, you are right about editing.
Check the implementations of #doExecute in the subclasses of PRCommand.
- Removing needs to traverse the complete tree to nil out references,
otherwise the removed page would stick around.
- Moving and copying needs to ensure that the paths are properly
updated. Pier remembers the path string in references to be able to
regenerate an identical wiki string. This could be optimized and would
make this traversal unnecessary.
- Searching for text or for incoming references obviously needs to
traverse the complete graph. Again this could be indexed, but would
need some work.
More information about the smallwiki