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

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

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

7 ответов

12 просмотров

А мне Ваш вопрос непонятен. Но, казалось бы, ответ "наоборот". Да и вообще, 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.") — следовательно, она неверна.

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

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

Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
13
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
11
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
Карта сайта