fix database upgrading for pgsql

This commit is contained in:
Robin Appelman 2012-01-16 02:06:19 +01:00
parent 907dd4d24d
commit ebe10870cf
2 changed files with 5 additions and 2 deletions

View File

@ -396,6 +396,9 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common
} }
$db->loadModule('Datatype', null, true); $db->loadModule('Datatype', null, true);
$type = $db->datatype->getTypeDeclaration($field['definition']); $type = $db->datatype->getTypeDeclaration($field['definition']);
if($type=='SERIAL PRIMARY KEY'){//not correct when altering a table
$type='integer';//use this instead
}
$query = "ALTER $field_name TYPE $type USING CAST($field_name AS $type)"; $query = "ALTER $field_name TYPE $type USING CAST($field_name AS $type)";
$result = $db->exec("ALTER TABLE $name $query"); $result = $db->exec("ALTER TABLE $name $query");
if (PEAR::isError($result)) { if (PEAR::isError($result)) {
@ -692,7 +695,7 @@ class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common
$table = $db->quoteIdentifier($schema, true) . '.' .$table; $table = $db->quoteIdentifier($schema, true) . '.' .$table;
} }
$db->setLimit(1); $db->setLimit(1);
$result2 = $db->query("SELECT * FROM $table"); $result2 = $db->query("SELECT * FROM $table LIMIT 1");
if (PEAR::isError($result2)) { if (PEAR::isError($result2)) {
return $result2; return $result2;
} }

View File

@ -144,7 +144,7 @@ class OC_DB {
// Prepare options array // Prepare options array
$options = array( $options = array(
'portability' => MDB2_PORTABILITY_ALL, 'portability' => MDB2_PORTABILITY_ALL & (!MDB2_PORTABILITY_FIX_CASE),
'log_line_break' => '<br>', 'log_line_break' => '<br>',
'idxname_format' => '%s', 'idxname_format' => '%s',
'debug' => true, 'debug' => true,