TX semantics backward compatibility

Поиск
Список
Период
Сортировка
От Kovács Péter
Тема TX semantics backward compatibility
Дата
Msg-id 42BADDCD.1010607@chemaxon.hu
обсуждение исходный текст
Ответы Re: TX semantics backward compatibility  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Hi,

We've got a product which supposedly supports the major RDBMSs including
PostgreSQL. We tested it so far only with PostgreSQL 7.2 and found no
problem. Now, it turned out that it does not work with more recent
versions (certainly not with 8.0). The problem is with the kind of code
where we test the existence of a table in a transaction with:

select count(*) from doesitexist where 1 = 2;

If there is an error, we assume that the table does not exists and go
ahead without rollback and commit. When later we issue an SQL statement
again, we get the error message you probably all know.

Of course, we rely on we-do-not-exactly-now-how-many places on a
transaction still being usable after a (read-only) statement level error.

Is it correct that the behaviour in this regard was different with
earlier versions (like with 7.2)? (I.e. a statement level error left you
with a still usable transaction?) Or have we introduced some subtle
change into our code (or our testing environment) which makes the
difference? Or may something have changed in the client driver we use
(JDBC)? Is there a simple way to revert to the old behaviour in this regard?

Many thanks in advance,

Peter

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

Предыдущее
От: Jan Wieck
Дата:
Сообщение: Re: plpgsql constraint checked data fails to restore
Следующее
От: Richard Huxton
Дата:
Сообщение: Re: Help me urgently