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/database.mysql.inc | |
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/database.mysql.inc')
-rw-r--r-- | includes/database.mysql.inc | 15 |
1 files changed, 15 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 |