Re: re_ help lock record

Lists: pgsql-jdbc
From: bitrunner <bitrunner(at)katamail(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: re_ help lock record
Date: 2006-05-24 12:28:35
Message-ID: 44745173.3080809@katamail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Dave wrote:

I think I understand the question. You want to know how to determine if
the record is locked.

As far as I know there isn't a way. If process A locks the record, then
process B attempts to lock the record it will block until process A
releases the record.

If you have statement_timeout set to some value other than -1 then
process B will timeout after waiting for the statement_timeout.
Otherwise it will block until process A is finished with the record.
------------------------------------------------------------------------
yes is my problem, you have understood perfectly!!!
I have already used the statement_timeout but it does not work: it does
not raise exception. This is my code:

conPostgre.transactionStart();
Statement stm = conPostgre.connection.createStatement();
stm.setQueryTimeout(3);
rs = stm.executeQuery("select * from prova where \"prvID\" = 1
for update");
System.out.println("Lock: " + rs.next());

I must set up of the parameters to postgresql.conf?

Thanks a lot.


From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: bitrunner <bitrunner(at)katamail(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: re_ help lock record
Date: 2006-05-24 12:42:44
Message-ID: 988B3FDF-6E5F-48C9-B930-750E20B92DDB@fastcrypt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc


On 24-May-06, at 8:28 AM, bitrunner wrote:

> Dave wrote:
>
> I think I understand the question. You want to know how to
> determine if the record is locked.
>
> As far as I know there isn't a way. If process A locks the record,
> then process B attempts to lock the record it will block until
> process A releases the record.
>
> If you have statement_timeout set to some value other than -1 then
> process B will timeout after waiting for the statement_timeout.
> Otherwise it will block until process A is finished with the record.
> ----------------------------------------------------------------------
> --
> yes is my problem, you have understood perfectly!!!
> I have already used the statement_timeout but it does not work: it
> does not raise exception. This is my code:
>
> conPostgre.transactionStart();
> Statement stm = conPostgre.connection.createStatement();
> stm.setQueryTimeout(3);
> rs = stm.executeQuery("select * from prova where \"prvID\"
> = 1 for update");
> System.out.println("Lock: " + rs.next());
>
> I must set up of the parameters to postgresql.conf?

Yes, you must set this in postgresql.conf
>
> Thanks a lot.
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match
>