[Neo] bug in Node.delete() ?

Mattias Persson mattias at neotechnology.com
Tue Feb 9 23:26:05 CET 2010


Yep, that's right... The documentation is a bit unclear/untrue about
that. Ryan is right in that it's only checked when the transaction is
commited. This means that you can delete a node which has
relationships on it, just as long as you delete its relationships
before the transaction is committed.

2010/2/9, Ryan Levering <rrlevering at gmail.com>:
> Well, it's not totally untrue.  Try changing your tx.failure() to
> tx.success() and you'll get the error you're looking for.  Neo is a fairly
> transaction driven database and I imagine it doesn't check the constraints
> of the delete until it's committed.
>
> On Feb 9, 2010, at 3:28 PM, Stefan Armbruster wrote:
>
>> Hi,
>>
>> it looks like Node.delete() does not behave as defined in the API docs:
>> <quote>
>> Deletes this node if it has no relationships attached to it. If delete()
>> is invoked on a node with relationships, an unchecked exception will be
>> raised. Invoking any methods on this node after delete() has returned is
>> invalid and will lead to unspecified behavior.
>> </quote>
>>
>> I've created some sample code (http://pastebin.com/f2918f9d5)
>> demonstrating this. Line 25 tries to delete a node with a relationship
>> attached to it. There's no exception (as expected from the API docs) and
>> the node is still there afterwards. So delete() seems to do simply
>> nothing if there are any realtionships.
>>
>> Did I miss something or should we consider this a bug?
>>
>> Regards,
>> Stefan
>> _______________________________________________
>> Neo mailing list
>> User at lists.neo4j.org
>> https://lists.neo4j.org/mailman/listinfo/user
>
> _______________________________________________
> Neo mailing list
> User at lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>


-- 
Mattias Persson, [mattias at neotechnology.com]
Neo Technology, www.neotechnology.com


More information about the User mailing list