VACUUM cannot be run in a transaction block

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема VACUUM cannot be run in a transaction block
Дата
Msg-id 52247708.9030100@vmware.com
обсуждение исходный текст
Список pgsql-odbc
Hi,

If you try to run VACUUM with SQLPrepare/SQLExecute, and auto-commit is
disabled, and UseServerSidePrepare=1 (which is now the default in git
master), you get an error:

ERROR:  VACUUM cannot run inside a transaction block

There is some code in place to avoid this in UseServerSidePrepare=0
mode. The driver looks at  the statement type (by looking at the first
word of the statement) and skips the implicit BEGIN if it's a VACUUM or
one of the other commands that cannot be run in a transaction block.
However, the extended query protocol code path didn't do that.

I just pushed a fix for that, but I thought this warranted to be
mentioned on the mailing list.

PS. Can we get 9.3 version packaged very soon? The server 9.3.0 server
version will be wrapped today, and will be announced on Monday Sep 9th.
We really should have a 9.3 labeled version of the driver available by then.

- Heikki


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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: UseServerSidePrepare default
Следующее
От: "Mike C."
Дата:
Сообщение: Postgres ODBC Windows 7 x64 SSL not working!