]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add sequence name in insertid to be more portable
authorBrice Maron <brice@bmaron.net>
Sat, 29 Oct 2011 09:40:48 +0000 (11:40 +0200)
committerBrice Maron <brice@bmaron.net>
Sat, 29 Oct 2011 09:40:48 +0000 (11:40 +0200)
apps/bookmarks/ajax/addBookmark.php
apps/calendar/lib/calendar.php
apps/calendar/lib/object.php
apps/contacts/lib/addressbook.php
apps/contacts/lib/vcard.php
apps/media/lib_collection.php
lib/db.php

index 3975fd15f81d17e45ddd82ad663ea8a0f99b9c1d..45b16ae5fa6e4a76c93b200f959187f844626349 100644 (file)
@@ -54,13 +54,7 @@ $params=array(
        );
 $query->execute($params);
 
-if($CONFIG_DBTYPE == 'pgsql')
-{
-       $query = OC_DB::prepare("SELECT currval('*PREFIX*bookmarks_id_seq')");
-       $b_id = $query->execute()->fetchOne();
-} else {
-       $b_id = OC_DB::insertid();
-}
+$b_id = OC_DB::insertid('*PREFIX*bookmarks');
 
 
 if($b_id !== false) {
index c19c0e73c08567394dfcc938c6baababc5cb51d0..f6d40aa534e0bb7e8713aea8139a275aaf490af1 100644 (file)
@@ -111,7 +111,7 @@ class OC_Calendar_Calendar{
                $stmt = OC_DB::prepare( 'INSERT INTO *PREFIX*calendar_calendars (userid,displayname,uri,ctag,calendarorder,calendarcolor,timezone,components) VALUES(?,?,?,?,?,?,?,?)' );
                $result = $stmt->execute(array($userid,$name,$uri,1,$order,$color,$timezone,$components));
 
-               return OC_DB::insertid();
+               return OC_DB::insertid('*PREFIX*calendar_calendar');
        }
 
        /**
@@ -131,7 +131,7 @@ class OC_Calendar_Calendar{
                $stmt = OC_DB::prepare( 'INSERT INTO *PREFIX*calendar_calendars (userid,displayname,uri,ctag,calendarorder,calendarcolor,timezone,components) VALUES(?,?,?,?,?,?,?,?)' );
                $result = $stmt->execute(array($userid,$name,$uri,1,$order,$color,$timezone,$components));
 
-               return OC_DB::insertid();
+               return OC_DB::insertid('*PREFIX*calendar_calendars');
        }
 
        /**
index 0c3e497d4f2e71d3bbc110b5ddaac59365a6b3d8..33871cd31851177875b7f1db743f7f5a02d66b3c 100644 (file)
@@ -78,7 +78,7 @@ class OC_Calendar_Object{
 
                OC_Calendar_Calendar::touchCalendar($id);
 
-               return OC_DB::insertid();
+               return OC_DB::insertid('*PREFIX*calendar_objects');
        }
 
        /**
@@ -97,7 +97,7 @@ class OC_Calendar_Object{
 
                OC_Calendar_Calendar::touchCalendar($id);
 
-               return OC_DB::insertid();
+               return OC_DB::insertid('*PREFIX*calendar_objects');
        }
 
        /**
index 2e869d7de3bf803b4359f8a1b5b3ef2726491e10..87477ed7ed41913ad505b9c92641fd76935d8eae 100644 (file)
@@ -96,7 +96,7 @@ class OC_Contacts_Addressbook{
                $stmt = OC_DB::prepare( 'INSERT INTO *PREFIX*contacts_addressbooks (userid,displayname,uri,description,ctag) VALUES(?,?,?,?,?)' );
                $result = $stmt->execute(array($userid,$name,$uri,$description,1));
 
-               return OC_DB::insertid();
+               return OC_DB::insertid('*PREFIX*contacts_addressbooks');
        }
 
        /**
@@ -113,7 +113,7 @@ class OC_Contacts_Addressbook{
                $stmt = OC_DB::prepare( 'INSERT INTO *PREFIX*contacts_addressbooks (userid,displayname,uri,description,ctag) VALUES(?,?,?,?,?)' );
                $result = $stmt->execute(array($userid,$name,$uri,$description,1));
 
-               return OC_DB::insertid();
+               return OC_DB::insertid('*PREFIX*contacts_addressbooks');
        }
 
        /**
index 74bc0f92f1b0e680658107d94a2f7474e92708e7..adfa32b6f5fc9c662c72de2c08237e4deb182799 100644 (file)
@@ -121,7 +121,7 @@ class OC_Contacts_VCard{
 
                OC_Contacts_Addressbook::touch($id);
 
-               return OC_DB::insertid();
+               return OC_DB::insertid('*PREFIX*contacts_cards');
        }
 
        /**
@@ -147,7 +147,7 @@ class OC_Contacts_VCard{
 
                OC_Contacts_Addressbook::touch($id);
 
-               return OC_DB::insertid();
+               return OC_DB::insertid('*PREFIX*contacts_cards');
        }
 
        /**
index 571cb7e68509fd3887d445c7ff91bc49218a3951..caa3ac3f47985b2da5e6c78a741f9434506fdc70 100644 (file)
@@ -267,7 +267,7 @@ class OC_MEDIA_COLLECTION{
                                $query=self::$queries['addsong'];
                        }
                        $query->execute(array($name,$artist,$album,$path,$uid,$length,$track,$size));
-                       $songId=OC_DB::insertid();
+                       $songId=OC_DB::insertid('*PREFIX*media_songs');
 //                     self::setLastUpdated();
                        return self::getSongId($name,$artist,$album);
                }
index 421b08c2320cb9376a0b8842c62ba4c8036e072a..c059f5ab3366e696b0b7103909984ba7f694a3c3 100644 (file)
@@ -224,6 +224,7 @@ class OC_DB {
 
        /**
         * @brief gets last value of autoincrement
+        * @param $table string The optional table name (will replace *PREFIX*) and add sequence suffix
         * @returns id
         *
         * MDB2 lastInsertID()
@@ -231,9 +232,14 @@ class OC_DB {
         * Call this method right after the insert command or other functions may
         * cause trouble!
         */
-       public static function insertid(){
+       public static function insertid($table=null){
                self::connect();
-               return self::$connection->lastInsertId();
+               if($table !== null){
+                       $prefix = OC_Config::getValue( "dbtableprefix", "oc_" );
+                       $suffix = OC_Config::getValue( "dbsequencesuffix", "_id_seq" );
+                       $table = str_replace( '*PREFIX*', $prefix, $table );
+               }
+               return self::$connection->lastInsertId($table.$suffix);
        }
 
        /**