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
This commit is contained in:
Ingo Schommer 2010-04-12 23:11:58 +00:00
parent 876c760331
commit efa09e60a5

View File

@ -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) {