Proper Method for using LockAcquire

Поиск
Список
Период
Сортировка
От Chris Bowlby
Тема Proper Method for using LockAcquire
Дата
Msg-id 44B68A7B.60203@accesswave.ca
обсуждение исходный текст
Ответы Re: Proper Method for using LockAcquire  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Proper Method for using LockAcquire  (Martijn van Oosterhout <kleptog@svana.org>)
Список pgsql-hackers
Hi All,
I've been working on a small module that I will be pluging into my 
local PostreSQL 8.x database and am in need of doing some table locking. 
At this time, I've used various other examples to no avail and was 
wondering what the proper method for aquiring a table lock within the 
module would be?
For example I am using an SPI based module:
static void mytest(void) { LOCKMETHODID        localLockTableId = INVALID_LOCKMETHOD; LOCKTAG
localtag;
 memset(&localtag, 0, sizeof(localtag)); localtag.relId = XactLockTableId; localtag.dbId = 1; localtag.objId.xid =
InvalidTransactionId;
 if (!LockAcquire(LocalLockTableId, &localtag, 
GetCurrentTransactionId(), Sharelock, false)) {  elog(ERROR, "mytest: did not acquire table lock"); }
 ....
 if(!LockRelease(LocalLockTableId, &localtag, 
GetCurrentTransactionId(), Sharelock)) {  elog(ERROR, "mytest: could not release lock"); }
}

I know there is something I am missing and would appreciate any help. I 
believe I need to initialize the LocalLockTableId, but I have not been 
able to find any examples of that being done. Could someone look this 
over and point me in the right direction?




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Three weeks left until feature freeze
Следующее
От: "Jonah H. Harris"
Дата:
Сообщение: Re: Updateable views for 8.2 or 8.3?