Size: a a a

2020 May 07

L

Loljeene in pro.jvm
Vladimir Sitnikov
Т.е. даже setFetchSize(1) для запросов, которые возвращают 1 строку? Правда?
Ну у меня специфика что таких запросов почти нет
источник

KS

Kirill Shelopugin in pro.jvm
@vladimirsitnikv у меня вот всё равно не очень стыкуются два утверждения:
1. Твое - "База создаёт транзакцию только тогда, когда речь доходит до модификации данных (ну или хотя бы блокировки через select for update). Поэтому, после select'а, который как бы readonly, никакой транзакции остаться не может"
2. Из документации - "PostgreSQL actually treats every SQL statement as being executed within a transaction. If you do not issue a BEGIN command, then each individual statement has an implicit BEGIN and (if successful) COMMIT wrapped around it". Плюс, есть вот такое https://www.postgresql.org/message-id/4071D840.3040205@opencloud.com, где говорят `With autocommit off, a SELECT (or in fact *any* query) will start a new
transaction. It's your responsibility to eventually close that
transaction (via commit() or rollback()) at an apropriate point`
Что же на самом деле происходит?
источник

VS

Vladimir Sitnikov in pro.jvm
Kirill Shelopugin
@vladimirsitnikv у меня вот всё равно не очень стыкуются два утверждения:
1. Твое - "База создаёт транзакцию только тогда, когда речь доходит до модификации данных (ну или хотя бы блокировки через select for update). Поэтому, после select'а, который как бы readonly, никакой транзакции остаться не может"
2. Из документации - "PostgreSQL actually treats every SQL statement as being executed within a transaction. If you do not issue a BEGIN command, then each individual statement has an implicit BEGIN and (if successful) COMMIT wrapped around it". Плюс, есть вот такое https://www.postgresql.org/message-id/4071D840.3040205@opencloud.com, где говорят `With autocommit off, a SELECT (or in fact *any* query) will start a new
transaction. It's your responsibility to eventually close that
transaction (via commit() or rollback()) at an apropriate point`
Что же на самом деле происходит?
На самом деле, на уровне сетевого протокола есть 2 разные возможности выполнить select запрос.

Если драйвер знает, что «autocommit==false», то драйвер уверен в том, что он может использовать более сложный механизм, и «порталы» (==курсоры) не закроются сами собой.

Если же драйвер видит, что autocommit==true, то он не может использовать хитроумный механизм с порталами (и соответственно, fetch N запросами).
источник

KS

Kirill Shelopugin in pro.jvm
Vladimir Sitnikov
На самом деле, на уровне сетевого протокола есть 2 разные возможности выполнить select запрос.

Если драйвер знает, что «autocommit==false», то драйвер уверен в том, что он может использовать более сложный механизм, и «порталы» (==курсоры) не закроются сами собой.

Если же драйвер видит, что autocommit==true, то он не может использовать хитроумный механизм с порталами (и соответственно, fetch N запросами).
А если дело касается обычных select-запросов, без fetch N?
источник

VS

Vladimir Sitnikov in pro.jvm
Kirill Shelopugin
@vladimirsitnikv у меня вот всё равно не очень стыкуются два утверждения:
1. Твое - "База создаёт транзакцию только тогда, когда речь доходит до модификации данных (ну или хотя бы блокировки через select for update). Поэтому, после select'а, который как бы readonly, никакой транзакции остаться не может"
2. Из документации - "PostgreSQL actually treats every SQL statement as being executed within a transaction. If you do not issue a BEGIN command, then each individual statement has an implicit BEGIN and (if successful) COMMIT wrapped around it". Плюс, есть вот такое https://www.postgresql.org/message-id/4071D840.3040205@opencloud.com, где говорят `With autocommit off, a SELECT (or in fact *any* query) will start a new
transaction. It's your responsibility to eventually close that
transaction (via commit() or rollback()) at an apropriate point`
Что же на самом деле происходит?
>With autocommit off, a SELECT (or in fact *any* query) will start a new
>transaction. It's your responsibility to eventually close that
>transaction (via commit() or rollback()) at an apropriate point.

Некоторые ошибаются. Это пример ошибочного утверждения. Ну, ошибся Oliver Jowett (не знаю кто это), бывает.
источник

VS

Vladimir Sitnikov in pro.jvm
Kirill Shelopugin
А если дело касается обычных select-запросов, без fetch N?
Под «fetch N» я имел ввиду команду сетевого протокола (PostgreSQL wire protocol)

https://www.postgresql.org/docs/12/protocol-message-formats.html

Execute (F)

Int32
Maximum number of rows to return, if portal contains a query that returns rows (ignored otherwise). Zero denotes “no limit”.
источник

OC

Oleg Chirukhin ☄️🧙‍♂... in pro.jvm
Чуваки, я тут вчера весь вечер тужился и родил техническую статью о том, как делаются джава-конференции в онлайне. Заброшу сюда ссылку, но если вдруг покажется что это реклама беспонтовая - бесщадно удаляйте.

https://habr.com/ru/company/jugru/blog/500756/
источник

 P

 ‌‌Gleb Pilipets... in pro.jvm
Oleg Chirukhin ☄️🧙‍♂️🚀
Чуваки, я тут вчера весь вечер тужился и родил техническую статью о том, как делаются джава-конференции в онлайне. Заброшу сюда ссылку, но если вдруг покажется что это реклама беспонтовая - бесщадно удаляйте.

https://habr.com/ru/company/jugru/blog/500756/
А как написать статью на хабре? Там все желающее могут?
источник

g

guga in pro.jvm
Oleg Chirukhin ☄️🧙‍♂️🚀
Чуваки, я тут вчера весь вечер тужился и родил техническую статью о том, как делаются джава-конференции в онлайне. Заброшу сюда ссылку, но если вдруг покажется что это реклама беспонтовая - бесщадно удаляйте.

https://habr.com/ru/company/jugru/blog/500756/
всегда рады помочь jugru, тем более что вы нас никогда не обижали.
источник

D

Dima in pro.jvm
 ‌‌Gleb Pilipets
А как написать статью на хабре? Там все желающее могут?
вроде инвайт
источник

ch

central hardware in pro.jvm
 ‌‌Gleb Pilipets
А как написать статью на хабре? Там все желающее могут?
написать может кто угодно, если пройдете модерацию опубликуют
источник

 P

 ‌‌Gleb Pilipets... in pro.jvm
central hardware
написать может кто угодно, если пройдете модерацию опубликуют
Интересно, спасибо.
источник

Б

Большой лебовски... in pro.jvm
 ‌‌Gleb Pilipets
А как написать статью на хабре? Там все желающее могут?
Лучше на medium
источник

Б

Большой лебовски... in pro.jvm
Хабра гавно
источник

VP

Vladimir Petrakovich in pro.jvm
 ‌‌Gleb Pilipets
А как написать статью на хабре? Там все желающее могут?
Создать блог организации (заплатив денежку), добавить туда аккаунт сотрудника
источник

OC

Oleg Chirukhin ☄️🧙‍♂... in pro.jvm
Большой лебовски
Лучше на medium
лучше тогда на dev.to. Медиум говно
источник

БС

Богдан Суконнов... in pro.jvm
Большой лебовски
Лучше на medium
Я сначала тоже полюбил медиум, даже подписку купил. Но потом понял что там нет сообщества. Статьи бывают, и даже вполне взрослые попадаются, хотя на самом деле большинство для новичков. Но вот дельных комментариев от опытных людей там не попадалось особо.
источник

БС

Богдан Суконнов... in pro.jvm
Oleg Chirukhin ☄️🧙‍♂️🚀
лучше тогда на dev.to. Медиум говно
Да, пока это лучшее что попалось. Если кто знает более толковое - поделитесь.
источник

Б

Большой лебовски... in pro.jvm
Да на хабре в основном люди пишут в комментах лишь бы повыебывается
источник

Б

Большой лебовски... in pro.jvm
устраивают дикий срач
источник