diff options
author | Dries Buytaert <dries@buytaert.net> | 2002-08-20 19:29:16 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2002-08-20 19:29:16 +0000 |
commit | bfe5b85dbdab7b0c9f868dcb3beb71848ffbd295 (patch) | |
tree | 222ac3236359bdc76cfea99c09911d016fe23488 /includes | |
parent | afd87425d98ee62864911a2ccd29beb0eea843cb (diff) | |
download | brdo-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.inc | 15 | ||||
-rw-r--r-- | includes/database.pear.inc | 6 |
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 |