NIL_REFERENCES: Added mechanism to cut (nil) references during commit #286

Merged
merged 3 commits into from May 3, 2013

Conversation

Projects
None yet
3 participants
Member

matthias-springer commented Mar 14, 2013

Note: This only works with a modified GemStone version (HPI-GSS matthias/nil-references).

This is different from db_instances_transient. Transient instances are committed but their instance variables are set to nil. Classes that are marked as db_nil_references and their instances are not committed at all. References are replaced by nil.

class C
end

C.maglev_nil_references true
c = C.new
Maglev::PERSISTENT_ROOT[1] = [[c]]
Maglev.commit_transaction

Maglev::PERSISTENT_ROOT[1]
=> [[nil]]
c
=> #<C:0x8fb0801>
Owner

timfel commented Mar 23, 2013

@matthias-springer once you've got the changes into the VM maglev master, @pbm can push new builds and you merge this?

Member

matthias-springer commented Mar 23, 2013

I already merged the pull request in HPI-GSS (master-1.9). We can merge this pull request once we've got a new VM build (otherwise Travis will fail).

knub added a commit that referenced this pull request May 3, 2013

Merge pull request #286 from MagLev/matthias/nil-references
NIL_REFERENCES: Added mechanism to cut (nil) references during commit

@knub knub merged commit bfd6f03 into master-1.9 May 3, 2013

1 check passed

default The Travis build passed
Details

@knub knub deleted the matthias/nil-references branch May 3, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment