172 похожих чатов

Что-То непонятно: https://www.postgresql.org/docs/11/plpgsql-transactions.html То есть предполагается, что транзакцию нужно начинать вне

блока DO $$ BEGIN .... END; $$ ?

7 ответов

13 просмотров

А мне Ваш вопрос непонятен. Но, казалось бы, ответ "наоборот". Да и вообще, TIAS. ;)

Andrey-Tatarnikov Автор вопроса
Yaroslav Schekin
А мне Ваш вопрос непонятен. Но, казалось бы, ответ...

Документация говорит, что commit внутри анонимного блока возможен, но возникает вопрос где эта транзакция начинается?

Andrey Tatarnikov
Документация говорит, что commit внутри анонимного...

Она начинается с DO. Опять-таки, легко же взять и попробовать.

Andrey-Tatarnikov Автор вопроса
Yaroslav Schekin
Она начинается с DO. Опять-таки, легко же взять и ...

о как, спасибо, странно что в доках не указано, хотя может я слепой

Andrey Tatarnikov
о как, спасибо, странно что в доках не указано, хо...

Цитаты оттуда и из описаний соответствующих команд: Transaction control is only possible in CALL or DO invocations from the top level or nested CALL or DO invocations without any other intervening command. If CALL is executed in a transaction block, then the called procedure cannot execute transaction control statements. Transaction control statements are only allowed if CALL is executed in its own transaction. If DO is executed in a transaction block, then the procedure code cannot execute transaction control statements. Transaction control statements are only allowed if DO is executed in its own transaction. По-моему, указано и понятно.

Andrey-Tatarnikov Автор вопроса
Yaroslav Schekin
Цитаты оттуда и из описаний соответствующих команд...

"its own transaction" применительно к DO - это все, что внутри DO END или это явный BEGIN; DO END? вот это не очень очевидно, кмк

Andrey Tatarnikov
"its own transaction" применительно к DO - это все...

Всё написано вполне ясно. > это все, что внутри DO END Да. > или это явный BEGIN; DO END Такая интерпретация противоречит предыдущему предложению ("If DO is executed in a transaction block, then the procedure code cannot execute transaction control statements.") — следовательно, она неверна.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта