Index: openacs-4/packages/xowiki/xowiki.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/xowiki.info,v diff -u -r1.150 -r1.151 --- openacs-4/packages/xowiki/xowiki.info 27 Apr 2015 15:28:22 -0000 1.150 +++ openacs-4/packages/xowiki/xowiki.info 2 May 2015 16:38:34 -0000 1.151 @@ -10,10 +10,10 @@ t xowiki - + Gustaf Neumann A xotcl-based enterprise wiki system with multiple object types - 2015-03-23 + 2015-05-03 WU Vienna <pre> XoWiki is a Wiki implementation for OpenACS in XOTcl. Instead of @@ -55,7 +55,7 @@ BSD-Style 2 - + Index: openacs-4/packages/xowiki/tcl/xowiki-utility-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-utility-procs.tcl,v diff -u -r1.34 -r1.35 --- openacs-4/packages/xowiki/tcl/xowiki-utility-procs.tcl 29 Apr 2015 11:10:22 -0000 1.34 +++ openacs-4/packages/xowiki/tcl/xowiki-utility-procs.tcl 2 May 2015 16:38:34 -0000 1.35 @@ -454,6 +454,17 @@ ::xo::clusterwide ns_cache flush xotcl_object_type_cache $revision_id } + proc ::xowiki::refresh_id_column_fk_constraints {} { + foreach cl [::xowiki::Page object_types] { + set tn [$cl table_name] + set cn ${tn}_fk + set sc [$cl info superclass] + ::xo::dc dml drop_constraint "ALTER TABLE $tn DROP constraint $cn" + ::xo::dc dml add_constraint "ALTER TABLE $tn ADD constraint $cn FOREIGN KEY([$cl id_column]) \ + REFERENCES [$sc table_name]([$sc id_column]) ON DELETE CASCADE;\n" + } + } + ad_proc -public -callback subsite::url -impl apm_package { {-package_id:required} {-object_id:required} Index: openacs-4/packages/xowiki/tcl/upgrade/upgrade.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/upgrade/upgrade.tcl,v diff -u -r1.8 -r1.9 --- openacs-4/packages/xowiki/tcl/upgrade/upgrade.tcl 27 Apr 2015 15:28:23 -0000 1.8 +++ openacs-4/packages/xowiki/tcl/upgrade/upgrade.tcl 2 May 2015 16:38:34 -0000 1.9 @@ -625,6 +625,16 @@ left join xowiki_form_page on (o.object_id = xowiki_form_page.xowiki_form_page_id) }] } + + set v 5.9.0d1 + if {[apm_version_names_compare $from_version_name $v] == -1 && + [apm_version_names_compare $to_version_name $v] > -1} { + ns_log notice "-- upgrading to $v" + + # Some old instances have no proper foreign keys with cascading delete. + # Simply refresh all of these + ::xowiki::refresh_id_column_fk_constraints + } } }