Only in drupal-6.x-dev-no-locks: .DS_Store Only in drupal-6.x-dev-no-locks/includes: .DS_Store diff -urp drupal-6.x-dev-original/includes/bootstrap.inc drupal-6.x-dev-no-locks/includes/bootstrap.inc --- drupal-6.x-dev-original/includes/bootstrap.inc 2007-05-08 11:36:55.000000000 -0500 +++ drupal-6.x-dev-no-locks/includes/bootstrap.inc 2007-05-24 11:19:00.000000000 -0500 @@ -444,10 +444,11 @@ function variable_get($name, $default) { function variable_set($name, $value) { global $conf; - db_lock_table('variable'); - db_query("DELETE FROM {variable} WHERE name = '%s'", $name); - db_query("INSERT INTO {variable} (name, value) VALUES ('%s', '%s')", $name, serialize($value)); - db_unlock_tables(); + $serialized_value = serialize($value); + db_query("UPDATE {variable} SET value = '%s' WHERE name = '%s'", $serialized_value, $name); + if (!db_affected_rows()) { + @db_query("INSERT INTO {variable} (name, value) VALUES ('%s', '%s')", $name, $serialized_value); + } cache_clear_all('variables', 'cache'); diff -urp drupal-6.x-dev-original/includes/cache.inc drupal-6.x-dev-no-locks/includes/cache.inc --- drupal-6.x-dev-original/includes/cache.inc 2007-05-12 13:26:15.000000000 -0500 +++ drupal-6.x-dev-no-locks/includes/cache.inc 2007-05-24 11:25:19.000000000 -0500 @@ -104,12 +104,11 @@ function cache_set($cid, $data, $table = $data = serialize($data); $serialized = 1; } - db_lock_table($table); - db_query("UPDATE {". $table ."} SET data = %b, created = %d, expire = %d, headers = '%s', serialized = %d WHERE cid = '%s'", $data, time(), $expire, $headers, $serialized, $cid); + $created = time(); + db_query("UPDATE {". $table ."} SET data = %b, created = %d, expire = %d, headers = '%s', serialized = %d WHERE cid = '%s'", $data, $created, $expire, $headers, $serialized, $cid); if (!db_affected_rows()) { - @db_query("INSERT INTO {". $table ."} (cid, data, created, expire, headers, serialized) VALUES ('%s', %b, %d, %d, '%s', %d)", $cid, $data, time(), $expire, $headers, $serialized); + @db_query("INSERT INTO {". $table ."} (cid, data, created, expire, headers, serialized) VALUES ('%s', %b, %d, %d, '%s', %d)", $cid, $data, $created, $expire, $headers, $serialized); } - db_unlock_tables(); } /** diff -urp drupal-6.x-dev-original/includes/database.mysql.inc drupal-6.x-dev-no-locks/includes/database.mysql.inc --- drupal-6.x-dev-original/includes/database.mysql.inc 2007-05-08 11:36:55.000000000 -0500 +++ drupal-6.x-dev-no-locks/includes/database.mysql.inc 2007-05-24 11:22:48.000000000 -0500 @@ -248,13 +248,11 @@ function db_error() { * with table prefixes. For example, db_next_id('{node}_nid'); */ function db_next_id($name) { - $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'); + global $active_db; + $name = db_prefix_tables($name); + 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 mysql_insert_id($active_db); } /** diff -urp drupal-6.x-dev-original/includes/database.mysqli.inc drupal-6.x-dev-no-locks/includes/database.mysqli.inc --- drupal-6.x-dev-original/includes/database.mysqli.inc 2007-04-21 13:08:41.000000000 -0500 +++ drupal-6.x-dev-no-locks/includes/database.mysqli.inc 2007-05-24 11:22:43.000000000 -0500 @@ -239,13 +239,11 @@ function db_error() { * with table prefixes. For example, db_next_id('{node}_nid'); */ function db_next_id($name) { - $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'); + global $active_db; + $name = db_prefix_tables($name); + 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); } /**