sorry, my terminology was a bit messed up. I want to implement the following behaviours:
If a referenced object is deleted: 1. cascade: also delete all items/objects that contain references to the deleted object. 2. set null: this is what is happening now, though only when the property is being queried. in the meanwhile the DB is in a potentially inconsistent state. 3. restrict: refuse to delete an object as long as it is being referenced from somewhere else. the features are described in more detail here: http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html Cheers, Thomas On Tue, Oct 28, 2008 at 3:36 PM, Pascal Voitot <[EMAIL PROTECTED]> wrote: > Don't understand exactly what's your problem? > you can't cascade delete? > > On Mon, Oct 27, 2008 at 5:00 PM, Thomas McColgan < > [EMAIL PROTECTED]> wrote: > >> OK, I am slowly getting there. The status now is that it defaults to >> setting the value to null if the "parent" is deleted. The best thing >> would be if it was possible to have a cascade delete and maybe even >> refuse behavior, too. I'm not sure how to implement that, though... I >> don't even know if that is possible without a big rewrite. I guess I >> would need a kind of hook into the deleting routine of all objects... >> >> Any ideas? >> >> Thomas >> >> On Sat, Oct 25, 2008 at 12:03 PM, Pascal Voitot >> <[EMAIL PROTECTED]> wrote: >> > fully agree with that! >> > if need any support, don't hesitate to ask... will try to find a few >> > minutes... >> > >> > >> > >> > On Fri, Oct 24, 2008 at 6:20 AM, Artem Melentyev <[EMAIL PROTECTED] >> >wrote: >> > >> >> Hi, Thomas. >> >> >> >> I think it is a good idea. It would be very useful for xwiki. >> >> >> >> I propose >> >> ReferencePropertyClass (contains reference target >> >> (object,document,attachment), cascade delete options and other >> >> configurations) >> >> ObjectReferenceProperty (reference to BaseObject) >> >> DocumentReferenceProperty (if needed. reference to XWikiDocument) >> >> as name of these properties. >> >> I think "Foreign key" is too technical name for this. >> >> >> >> Please create a jira issue (new feature) and attach patches. >> >> >> >> Thanks >> >> >> >> Thomas McColgan wrote: >> >> > I'm proposing to implement a new property type: A foreign key, >> >> > analogous to the concept in relational databases. Together with custom >> >> > mapping, a property like this would make it possible to use Xwiki as a >> >> > frontend for a relational database, while making full use of the wikis >> >> > capabilities(configurability, history, etc). >> >> > The implementation would look similar to the existing "Database list" >> >> > on the outside, but it would make a lot more use of the databases >> >> > features. If A links to B, and someone deletes B the reference in A >> >> > would either be set to null, or the delete would be stopped, depending >> >> > on the configuration. It would also make it possible to adress >> >> > associated objects directly in hql. >> >> > >> >> > The basic functionality can be emulated using DBList(adding a property >> >> > to one object by choosing from existing instances of another class), >> >> > but this is not useful if one wants to have "real" foreign key >> >> > behaviour in the wiki and the underlying DB. If there is a demand for >> >> > this I will be happy to contribute a patch once I am done, and I will >> >> > try make the code nice enough to submit. Otherwise I will probably >> >> > just make it as a hack to meet the exact need that I have... >> >> > >> >> > Thomas >> >> > _______________________________________________ >> >> > devs mailing list >> >> > [email protected] >> >> > http://lists.xwiki.org/mailman/listinfo/devs >> >> >> >> >> >> -- >> >> Artem Melentyev >> >> _______________________________________________ >> >> devs mailing list >> >> [email protected] >> >> http://lists.xwiki.org/mailman/listinfo/devs >> >> >> > _______________________________________________ >> > devs mailing list >> > [email protected] >> > http://lists.xwiki.org/mailman/listinfo/devs >> > >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs >> > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

