Size: a a a

2020 March 30

S

Soul in rust_offtopic
На typescript же не жалуются что он медленный по перформансу
источник

EG

Emmanuel Goldstein in rust_offtopic
Кто-нибудь знает, в постгресе можно сделать курсор, который будет расшарен между всеми коннекшнами?
источник

EG

Emmanuel Goldstein in rust_offtopic
Пытаюсь прикрутить пагинацию к таблице с естественным primary key
источник

EG

Emmanuel Goldstein in rust_offtopic
Курсоры для этого вроде подходили бы, если бы переживали смерть коннекта
источник

SP

Stanislav Popov in rust_offtopic
как говорят долгоживущие курсоры это пизда перфомансу но я всегда такое хотел
источник

SP

Stanislav Popov in rust_offtopic
т.е. ты просто открываешь курсор и читаешь всю таблицу по мере надобности?
источник

EG

Emmanuel Goldstein in rust_offtopic
Мне нужно реализовать апишку, которая отдаёт постранично всю базу
источник

SP

Stanislav Popov in rust_offtopic
а зачем всеми конекшенами? ну хотя да проблема привязать
источник

SP

Stanislav Popov in rust_offtopic
имело бы смысл наверное создать конкретную корутину/вебсокет
источник

EG

Emmanuel Goldstein in rust_offtopic
При этом в базе у меня нет традиционного id SERIAL PRIMARY KEY, у меня композитный primary key
источник

SP

Stanislav Popov in rust_offtopic
как микросервис. а потом уже привязать это к традиционным реквестам
источник

S

Soul in rust_offtopic
так а пагинация через sql?
источник

EG

Emmanuel Goldstein in rust_offtopic
Если нет способа сделать расшаренный курсор, то, думаю, придётся ввести что-то типа row_id SERIAL UNIQUE NOT NULL, и паджинировать по нему
источник

EG

Emmanuel Goldstein in rust_offtopic
Soul
так а пагинация через sql?
А как?
Просто LIMIT/OFFSET не переживут изменения базы между реквестами, казалось бы
источник

S

Soul in rust_offtopic
тогда WHERE row_id > x LIMIT 10
источник

S

Soul in rust_offtopic
И как вы представляете жизнь курсора в быстро изменяющемся ответе от базы?
источник

EG

Emmanuel Goldstein in rust_offtopic
Обычные курсоры же как-то живут. И даже переживают конец транзакции, если WITH HOLD
источник

EG

Emmanuel Goldstein in rust_offtopic
Soul
тогда WHERE row_id > x LIMIT 10
Ну да, просто для этого надо добавить row_id
источник

SP

Stanislav Popov in rust_offtopic
ну и курсор тебе все заблочит. а если не заблочит то распухнет вал
источник

S

Soul in rust_offtopic
Ну какой-то primary key же всегда есть
источник