Record versioning on delete CASCADE

69 views
Skip to first unread message

Felipe Meirelles

unread,
Feb 1, 2013, 12:54:25 PM2/1/13
to web...@googlegroups.com
The cascade feature should work for record versioning enabled tables?

Thanks.

Massimo Di Pierro

unread,
Feb 1, 2013, 3:19:52 PM2/1/13
to web...@googlegroups.com
When using versioning. Latest versions of records are never deleted, only filtered out. I think cascade should work as expected.

Felipe Meirelles

unread,
Feb 2, 2013, 7:20:47 AM2/2/13
to web...@googlegroups.com
No, I mean, when a record is "delete" aka is_active is seted to False, the other records there make reference to it are seted false too?

Massimo Di Pierro

unread,
Feb 2, 2013, 3:41:25 PM2/2/13
to web...@googlegroups.com
Good point. No. they are not set to is_active=False. Should they?

Felipe Meirelles

unread,
Feb 2, 2013, 4:44:20 PM2/2/13
to web...@googlegroups.com
I think they should, to be compatible with the default behaviour. Is this possible to do?

Massimo Di Pierro

unread,
Feb 2, 2013, 10:10:56 PM2/2/13
to web...@googlegroups.com
It is possible but very very inefficient since it would not be handled at the database level.

Massimo Di Pierro

unread,
Feb 2, 2013, 10:14:21 PM2/2/13
to web...@googlegroups.com
I should explain my answer. In order to have record versioning, record must be copied. To have a cascade delete we would have to loop and copy each individual record. Those records themselves could have references. More looping. etc. This are even more complex since there may be non-trivial circular references.

Felipe Meirelles

unread,
Feb 3, 2013, 7:48:14 AM2/3/13
to web...@googlegroups.com
Good point. But in my point of view you wont use record versioning at all your tables, just in the ones that have sensitive data. And yet, you dont use ondelete cascade in all tables too... I still think record versioning should have this standard behaviour.
Reply all
Reply to author
Forward
0 new messages