-
Notifications
You must be signed in to change notification settings - Fork 16
Description
Lean on PostgreSQL to implement sets.
Objects grow _newt__parents__, which is an array of containers. When a container fetches its contents, it does so by querying objects which has it as one of their parents. Of course, the GC has to be aware of this. An object without references to it would still be non-garbage if it has any non-garbage parents.
Containers "store" their contents through these references. Containers have a length. Container conflicts are always resolvable, because they behave like lengths.
A variation on this is approximately ordered collections. Collections have min and max positions that behave like zope.min-max. When an object is added at the front, the min position is decremented and used for the object position. Similar at the back. The position becomes part of the parent pointers. Positions are not unique.