Re: SPI isolation changes

Поиск
Список
Период
Сортировка
От Seino Yuki
Тема Re: SPI isolation changes
Дата
Msg-id aada2d0c68fc3eefa7c5a9889aba7df3@oss.nttdata.com
обсуждение исходный текст
Ответ на Re: SPI isolation changes  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: SPI isolation changes  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 2023-07-01 00:06, Tom Lane wrote:
> Seino Yuki <seinoyu@oss.nttdata.com> writes:
>> I also thought that using SPI_start_transaction would be more readable
>> than using SPI_commit/SPI_rollback to implicitly start a transaction.
>> What do you think?
> 
> I think you're trying to get us to undo commit 2e517818f, which
> is not going to happen.  See the threads that led up to that:
> 
> Discussion:
> https://postgr.es/m/3375ffd8-d71c-2565-e348-a597d6e739e3@enterprisedb.com
> Discussion: https://postgr.es/m/17416-ed8fe5d7213d6c25@postgresql.org
> 
> It looks to me like you can just change the transaction property
> settings immediately after SPI_start_transaction if you want to.
> Compare this bit in SnapBuildExportSnapshot:
> 
>     StartTransactionCommand();
> 
>     /* There doesn't seem to a nice API to set these */
>     XactIsoLevel = XACT_REPEATABLE_READ;
>     XactReadOnly = true;
> 
> Also look at the implementation of SPI_commit_and_chain,
> particularly RestoreTransactionCharacteristics.
> 
>             regards, tom lane

Thanks for sharing past threads.
I was understand how SPI_start_transaction went no-operation.

I also understand how to set the transaction property.
However, it was a little disappointing that the transaction property
could not be changed only by SPI commands.

Of course, executing SET TRANSACTION ISOLATION LEVEL with SPI_execute 
will result in error.
---
SPI_execute("SET TRANSACTION ISOLATION LEVEL SERIALIZABLE", false, 0);

(Log Output)
ERROR:  SET TRANSACTION ISOLATION LEVEL must be called before any query
CONTEXT:  SQL statement "SET TRANSACTION ISOLATION LEVEL SERIALIZABLE"
---

Thanks for answering.



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

Предыдущее
От: Ranier Vilela
Дата:
Сообщение: Re: Avoid unused value (src/fe_utils/print.c)
Следующее
От: Tom Lane
Дата:
Сообщение: Re: SPI isolation changes