Hi all!

This mail is about enhancement #10977 (Automatic dirty checking for 
persistent objects).

Further investigation and discussions with Frederick turned out that it 
is not possible to implement this feature in a sensible way, because of 
several reasons:

a) Referential integrity
A basic idea behind this feature is to hide specialities like the order 
in which operations are performed from the user. For database structures 
that use foreign-keys and therefore require referential integrity, the 
order of operations (e.g. delete) is highly important. There is no 
possibility for us to determine the correct order, since we do not know 
what the database structure looks like and even if we knew, we would 
need tricky mechanisms to figure out the correct order which would raise 
the overhead too much to be still sensible.

b) Relation support
Since PersistentObject allows to handle relations between objects, this 
feature would need to reflect this, too. When it comes to relations, 
different relation types need different handling (e.g. with a 1:n 
relation the 1-object needs to be in the database before the n-object 
may be added and the n-object must be saved afterwards again, for n:m 
relations both objects need to exist in the database before). To handle 
this gracefully, we would need to perform complex checks during the 
save-operation of this feature which would produce more overhead than it 
gains advantage.

Regards,
Toby
-- 
Mit freundlichen Grüßen / Med vennlig hilsen / With kind regards

Tobias Schlitt (GPG: 0xC462BC14) eZ Components Developer

[EMAIL PROTECTED] | eZ Systems AS | ez.no
-- 
Components mailing list
[email protected]
http://lists.ez.no/mailman/listinfo/components

Reply via email to