summaryrefslogtreecommitdiff
path: root/includes/database.mysqli.inc
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2007-05-25 21:01:30 +0000
committerDries Buytaert <dries@buytaert.net>2007-05-25 21:01:30 +0000
commit1f864214976463f31fcf3645cb9ab4934c54d72c (patch)
tree493638137f664654be0928954d6bc2b9fe0f2b73 /includes/database.mysqli.inc
parent633540ef8c7e2a2300caa18f27db6954423a93b2 (diff)
downloadbrdo-1f864214976463f31fcf3645cb9ab4934c54d72c.tar.gz
brdo-1f864214976463f31fcf3645cb9ab4934c54d72c.tar.bz2
- Patch #55516 by David Strauss et al: removed some database locking.
Diffstat (limited to 'includes/database.mysqli.inc')
-rw-r--r--includes/database.mysqli.inc8
1 files changed, 3 insertions, 5 deletions
diff --git a/includes/database.mysqli.inc b/includes/database.mysqli.inc
index ad58a6f24..baac124de 100644
--- a/includes/database.mysqli.inc
+++ b/includes/database.mysqli.inc
@@ -242,13 +242,11 @@ function db_error() {
* with table prefixes. For example, db_next_id('{node}_nid');
*/
function db_next_id($name) {
+ global $active_db;
$name = db_prefix_tables($name);
- db_query('LOCK TABLES {sequences} WRITE');
- $id = db_result(db_query("SELECT id FROM {sequences} WHERE name = '%s'", $name)) + 1;
- db_query("REPLACE INTO {sequences} VALUES ('%s', %d)", $name, $id);
- db_query('UNLOCK TABLES');
+ db_query('INSERT INTO {sequences} VALUES ("%s", LAST_INSERT_ID(1)) ON DUPLICATE KEY UPDATE id = LAST_INSERT_ID(id + 1)', $name);
- return $id;
+ return mysqli_insert_id($active_db);
}
/**