From efa09e60a55ae4c408dc967aa15440f24676a92c Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Mon, 12 Apr 2010 23:11:58 +0000 Subject: [PATCH] MINOR: replaced proprietary update query with one that is ANSI compliant in doPublish() (from r97705) git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102526 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- core/model/SiteTree.php | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/core/model/SiteTree.php b/core/model/SiteTree.php index 74db7243b..7d4991a35 100755 --- a/core/model/SiteTree.php +++ b/core/model/SiteTree.php @@ -1930,24 +1930,10 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid $this->write(); $this->publish("Stage", "Live"); - - if(DB::getConn() instanceof MySQLDatabase) { - // Special syntax for MySQL (grr!) - // More ANSI-compliant syntax - DB::query("UPDATE \"SiteTree_Live\", \"SiteTree\" - SET \"SiteTree_Live\".\"Sort\" = \"SiteTree\".\"Sort\" - WHERE \"SiteTree_Live\".\"ID\" = \"SiteTree\".\"ID\" - AND \"SiteTree_Live\".\"ParentID\" = " . sprintf('%d', $this->ParentID) ); + DB::query("UPDATE \"SiteTree_Live\" + SET \"Sort\" = (SELECT \"SiteTree\".\"Sort\" FROM \"SiteTree\" WHERE \"SiteTree_Live\".\"ID\" = \"SiteTree\".\"ID\") + WHERE EXISTS (SELECT \"SiteTree\".\"Sort\" FROM \"SiteTree\" WHERE \"SiteTree_Live\".\"ID\" = \"SiteTree\".\"ID\") AND \"ParentID\" = " . sprintf('%d', $this->ParentID) ); - } else { - // More ANSI-compliant syntax - DB::query("UPDATE \"SiteTree_Live\" - SET \"Sort\" = \"SiteTree\".\"Sort\" - FROM \"SiteTree\" - WHERE \"SiteTree_Live\".\"ID\" = \"SiteTree\".\"ID\" - AND \"SiteTree_Live\".\"ParentID\" = " . sprintf('%d', $this->ParentID) ); - } - // Publish any virtual pages that might need publishing $linkedPages = DataObject::get("VirtualPage", "\"CopyContentFromID\" = $this->ID"); if($linkedPages) foreach($linkedPages as $page) {