Merge pull request #556 from owncloud/postgres_insert_id

use lastval() to get the insert id in postgesql
This commit is contained in:
Thomas Müller 2012-11-24 22:55:33 -08:00
commit f81321af3d

View file

@ -353,12 +353,19 @@ class OC_DB {
*/
public static function insertid($table=null) {
self::connect();
if($table !== null) {
$prefix = OC_Config::getValue( "dbtableprefix", "oc_" );
$suffix = OC_Config::getValue( "dbsequencesuffix", "_id_seq" );
$table = str_replace( '*PREFIX*', $prefix, $table ).$suffix;
$type = OC_Config::getValue( "dbtype", "sqlite" );
if( $type == 'pgsql' ) {
$query = self::prepare('SELECT lastval() AS id');
$row = $query->execute()->fetchRow();
return $row['id'];
}else{
if($table !== null) {
$prefix = OC_Config::getValue( "dbtableprefix", "oc_" );
$suffix = OC_Config::getValue( "dbsequencesuffix", "_id_seq" );
$table = str_replace( '*PREFIX*', $prefix, $table ).$suffix;
}
return self::$connection->lastInsertId($table);
}
return self::$connection->lastInsertId($table);
}
/**