Code that works on Pg8.3 raises an error on Pg9.1, is this a bug?
PostgreSQL 8.3.7 on x86_64-unknown-linux-gnu, compiled by GCC
gcc-4.3.real (Debian 4.3.2-1.1) 4.3.2
select pg_try_advisory_lock(123);
pg_try_advisory_lock
----------------------
t
(1 row)
postgres=# begin transaction;
BEGIN
postgres=# prepare transaction 'tran1';
PREPARE TRANSACTION
postgres=# commit prepared 'tran1';
COMMIT PREPARED
PostgreSQL 9.1.2 on x86_64-unknown-linux-gnu, compiled by gcc-4.3.real
(Debian 4.3.2-1.1) 4.3.2, 64-bit
select pg_try_advisory_lock(123);
pg_try_advisory_lock
----------------------
t
(1 row)
postgres=# begin transaction;
BEGIN
postgres=# prepare transaction 'tran1';
ERROR: cannot PREPARE when session locks exist
- Steve