Transaction Isolation Level

Поиск
Список
Период
Сортировка
От Jason Koeninger
Тема Transaction Isolation Level
Дата
Msg-id 20020811001349.032A2475178@postgresql.org
обсуждение исходный текст
Список pgsql-odbc
The reporting system in my current project has the need for serialized
transactions so numbers can be consistent coming from two queries
within one transaction.  Using a psql command line, I can test the
functionality I need using:

begin;
set transaction isolation level serializable;
select count(*) from mytable;
*** Perform insert on mytable from another connection here
select count(*) from mytable;
end;

Both selects should give me the same result (which they do).  The problem
I'm having is when I try to translate this into ODBC.  It appears from the
driver code that the ODBC driver automatically calls BEGIN when not in
autocommit mode and only does it for a certain set of functions (insert,
update, delete, grant, revoke, and a couple others I'm forgetting).
Consequently, the "set transaction" statement executed from an ODBC
application is useless because it's not done inside the current transaction.
The normal solution would be to use SQLSetConnectOption with
SQL_TXN_ISOLATION set to SQL_TXN_SERIALIZABLE, but the
ODBC driver ignores those settings (according to the source).

So, I'm wondering how to get a serialized transaction through ODBC
without making changes to the driver source.

Thanks,

Jason Koeninger
J&J Computer Consulting





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

Предыдущее
От: "Markus Wollny"
Дата:
Сообщение: Re: Severe problems with ColdFusion 5, ODBC and PostgreSQL 7.2.1
Следующее
От: Stelios Sfakianakis
Дата:
Сообщение: Text as long varchar?