summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2002-08-20 19:29:16 +0000
committerDries Buytaert <dries@buytaert.net>2002-08-20 19:29:16 +0000
commitbfe5b85dbdab7b0c9f868dcb3beb71848ffbd295 (patch)
tree222ac3236359bdc76cfea99c09911d016fe23488 /includes
parentafd87425d98ee62864911a2ccd29beb0eea843cb (diff)
downloadbrdo-bfe5b85dbdab7b0c9f868dcb3beb71848ffbd295.tar.gz
brdo-bfe5b85dbdab7b0c9f868dcb3beb71848ffbd295.tar.bz2
- Applied a (modified) version of Marco's SQL sequence patch.
Diffstat (limited to 'includes')
-rw-r--r--includes/database.mysql.inc15
-rw-r--r--includes/database.pear.inc6
2 files changed, 21 insertions, 0 deletions
diff --git a/includes/database.mysql.inc b/includes/database.mysql.inc
index 65372f539..df0d74e32 100644
--- a/includes/database.mysql.inc
+++ b/includes/database.mysql.inc
@@ -93,4 +93,19 @@ function db_error() {
return mysql_errno();
}
+function db_next_id($name) {
+
+ /*
+ ** Note that REPLACE query below correctly creates a new sequence
+ ** when needed
+ */
+
+ 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");
+
+ return $id;
+}
+
?> \ No newline at end of file
diff --git a/includes/database.pear.inc b/includes/database.pear.inc
index 8f9e21bff..e7fcf0f1a 100644
--- a/includes/database.pear.inc
+++ b/includes/database.pear.inc
@@ -100,4 +100,10 @@ function db_error($result) {
return DB::isError($db_handle);
}
+function db_next_id($name) {
+ global $db_handle;
+
+ return $db_handle->nextID($name);
+}
+
?> \ No newline at end of file