API CHANGE: Column names escaped

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71983 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Geoff Munn 2009-02-18 03:12:39 +00:00
parent 8989e89b4e
commit 338bb01f1a

View File

@ -194,7 +194,6 @@ class Versioned extends DataObjectDecorator {
// Version fields on each root table (including Stage) // Version fields on each root table (including Stage)
if(isset($rootTable)) { if(isset($rootTable)) {
$stageTable = ($stage == $this->defaultStage) ? $table : "{$table}_$stage"; $stageTable = ($stage == $this->defaultStage) ? $table : "{$table}_$stage";
//DB::requireField($stageTable, "Version", "int(11) not null default '0'");
$parts=Array('datatype'=>'int', 'precision'=>11, 'null'=>'not null', 'default'=>(int)0); $parts=Array('datatype'=>'int', 'precision'=>11, 'null'=>'not null', 'default'=>(int)0);
$values=Array('type'=>'int', 'parts'=>$parts); $values=Array('type'=>'int', 'parts'=>$parts);
DB::requireField($stageTable, 'Version', $values); DB::requireField($stageTable, 'Version', $values);
@ -605,7 +604,7 @@ class Versioned extends DataObjectDecorator {
} }
// get version as performance-optimized SQL query (gets called for each page in the sitetree) // get version as performance-optimized SQL query (gets called for each page in the sitetree)
$version = DB::query("SELECT Version FROM `$stageTable` WHERE ID = $id")->value(); $version = DB::query("SELECT \"Version\" FROM \"$stageTable\" WHERE \"ID\" = $id")->value();
// cache value (if required) // cache value (if required)
if($cache) { if($cache) {
@ -626,13 +625,13 @@ class Versioned extends DataObjectDecorator {
if($idList) { if($idList) {
// Validate the ID list // Validate the ID list
foreach($idList as $id) if(!is_numeric($id)) user_error("Bad ID passed to Versioned::prepopulate_versionnumber_cache() in \$idList: " . $id, E_USER_ERROR); foreach($idList as $id) if(!is_numeric($id)) user_error("Bad ID passed to Versioned::prepopulate_versionnumber_cache() in \$idList: " . $id, E_USER_ERROR);
$filter = "WHERE ID IN(" .implode(", ", $idList) . ")"; $filter = "WHERE \"ID\" IN(" .implode(", ", $idList) . ")";
} }
$baseClass = ClassInfo::baseDataClass($class); $baseClass = ClassInfo::baseDataClass($class);
$stageTable = ($stage == 'Stage') ? $baseClass : "{$baseClass}_{$stage}"; $stageTable = ($stage == 'Stage') ? $baseClass : "{$baseClass}_{$stage}";
$versions = DB::query("SELECT ID, Version FROM `$stageTable` $filter")->map(); $versions = DB::query("SELECT \"ID\", \"Version\" FROM \"$stageTable\" $filter")->map();
foreach($versions as $id => $version) { foreach($versions as $id => $version) {
self::$cache_versionnumber[$baseClass][$stage][$id] = $version; self::$cache_versionnumber[$baseClass][$stage][$id] = $version;
} }