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

Больше того, лок корректен. но это оффтоп, не будем об

этом)
если доставать коннект явно - проблема та же
let mut conn = db_pool.acquire().await?;
let mut tx = conn.begin().await?;

8 ответов

9 просмотров
antuan- Автор вопроса

а если у пула задать max_connections = 1, то второй запрос вообще не вызывается. дичь

после второй строчки второй коннект создается? Или в первой строчке два коннекта?

antuan- Автор вопроса
Αλεχ Zhukovsky
после второй строчки второй коннект создается? Или...

логи пг: postgres_1 | 2021-07-14 13:03:24.536 UTC [433] LOG: statement: /* SQLx ping */ postgres_1 | 2021-07-14 13:03:24.539 UTC [435] LOG: statement: BEGIN postgres_1 | 2021-07-14 13:03:24.542 UTC [435] LOG: execute sqlx_s_1: DELETE FROM foo_table postgres_1 | 2021-07-14 13:03:24.542 UTC [435] DETAIL: parameters: $1 = '1', $2 = '1' postgres_1 | 2021-07-14 13:03:24.545 UTC [433] LOG: statement: /* SQLx ping */ postgres_1 | 2021-07-14 13:03:24.547 UTC [433] LOG: execute sqlx_s_2: INSERT INTO foo_table... postgres_1 | 2021-07-14 13:03:24.547 UTC [433] DETAIL: parameters: $1 = '1', $2 = '1', $3 = '{qwdwqdw}'

antuan- Автор вопроса
antuan
логи пг: postgres_1 | 2021-07-14 13:03:24.536 UTC...

в общем, пошел ишью заводить

antuan
логи пг: postgres_1 | 2021-07-14 13:03:24.536 UTC...

смотри, у тебя же брейкпоинты работают? Ставишь бряк на 0 строчку, параллельно на втором окне открываешь пг. И дальше по каждой строчке step over и что кажут коннекты постгри

antuan- Автор вопроса
Αλεχ Zhukovsky
смотри, у тебя же брейкпоинты работают? Ставишь бр...

а разница, что это даст?) видно по логам, что второй запрос делается в рамках коннекта, созданного до вызова begin (см pid у каждой записи в логе)

antuan
а разница, что это даст?) видно по логам, что втор...

ну я бы попробовал понять в какой момент конкретно коннекет создается. Может ли быть такое что db_pool.begin() создает > 1 коннекта? Или он создается в execute? PID запроса с insert численно меньше чем delete который раньше сделан - если пиды растут линейно то получается что коннект уже был на момент вызова insert

antuan- Автор вопроса
Αλεχ Zhukovsky
ну я бы попробовал понять в какой момент конкретно...

как я и сказал выше, по логам видно, что коннект был создан до вызова begin

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Всем привет, после Си стоит учить плюсы или лучше на раст перейти?
Linus
8
или вы считаете муит дает знание?
супер_лох_3000 альфа версия
12
значить например он учился в СДУ то получается он особенный?)
Asets Serikov
11
Карта сайта