How to lock a table for update and make other connections to wait on it

Поиск
Список
Период
Сортировка
От Vamsi Krishna Reddy -T (vamsredd - TATA CONSULTANCY SERVICES LIMITED at Cisco)
Тема How to lock a table for update and make other connections to wait on it
Дата
Msg-id F9E9BF1AB618014BAB5BFAF67628966001A3405B@xmb-rcd-x11.cisco.com
обсуждение исходный текст
Ответы Re: How to lock a table for update and make other connections to wait on it  (Daniele Varrazzo <daniele.varrazzo@gmail.com>)
Re: How to lock a table for update and make other connections to wait on it  (Christophe Pettus <xof@thebuild.com>)
Re: How to lock a table for update and make other connections to wait on it  ("Karsten Hilbert" <Karsten.Hilbert@gmx.net>)
Список psycopg

Hi Team

 

This is second time I am contacting you. Thanks for your support and solution provided for my previous problem.

 

Now I am facing a new problem. Below is the detailed description of the problem.

 

We have multiple instances of a program which runs on different locations and inserts certain data in the same database.

 

Below are the steps followed by an instance of the program

 

1.       Insert a row to a table , using cursor.execute()

2.       To fetch the row id of the above inserted data, we are using cursor.execute() to execute a sql command which fetches the max ‘id’ from the table (id is a column in the table which gets incremented on each insert)

 

Here the problem is, as we have parallel processes updating the same db and same table, before we execute step 2 there might be one more row inserted  into the table by a different process.

In this case step 2 returns me the wrong id.

 

So could you please let me know, if there a way to lock the table before step1 and unlock it after step2. If yes, how does the other parallel connection behaves when it encounters a lock.

 

Thanks & Regards

Vamsi

 

 

http://www.cisco.com/web/europe/images/email/signature/logo05.jpg

Vamsi Krishna Reddy
Engineer - Test/QA
vamsredd@cisco.com
Phone: +1 978 936 3645

Cisco Systems Limited
300 Beaver Brook Road
BOXBOROUGH
MASSACHUSETTS
01719
US
Cisco.com

 

Think before you print.Think before you print.

This email may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply email and delete all copies of this message.

For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/index.html

 

 

Вложения

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

Предыдущее
От: Tilman Koschnick
Дата:
Сообщение: Re: DateRange with mx.Date
Следующее
От: Daniele Varrazzo
Дата:
Сообщение: Re: How to lock a table for update and make other connections to wait on it