- Patch #22911 by Cvgbe: fixed table locking in PostgreSQL. You'll have to

use db_lock_table() and db_unlock_tables() for your code to be compatible.
4.7.x
Dries Buytaert 2005-08-29 19:32:55 +00:00
parent 8ae8865abc
commit 75fad91cf5
2 changed files with 31 additions and 0 deletions

View File

@ -269,6 +269,21 @@ function db_escape_string($text) {
return addslashes($text);
}
/**
* Lock a table.
*/
function db_lock_table($table) {
db_query('LOCK TABLES {%s} WRITE', $table);
}
/**
* Unlock all locked tables.
*/
function db_unlock_tables() {
db_query('UNLOCK TABLES');
}
/**
* @} End of "ingroup database".
*/

View File

@ -255,6 +255,22 @@ function db_escape_string($text) {
return pg_escape_string($text);
}
/**
* Lock a table.
* This function automatically starts a transaction.
*/
function db_lock_table($table) {
db_query('BEGIN; LOCK TABLE {%s} IN EXCLUSIVE MODE', $table);
}
/**
* Unlock all locked tables.
* This function automatically commits a transation.
*/
function db_unlock_tables() {
db_query('COMMIT');
}
/**
* @} End of "ingroup database".
*/