Size: a a a

pgsql – PostgreSQL

2021 February 18

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
Если нам это облегчит все :))
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dmitrii Korotovskii
Если нам это облегчит все :))
Должно же, по идее — появится возможность создать простой индекс для этой сортировки.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dmitrii Korotovskii
Yaroslav  Разработчик говорит что сортировку можно дропнуть всю в теории и замениь на Offers.created DESC NULLS LAST
Так и что, как Вы дальше собираетесь продолжать — менять запрос таким образом или нет?
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
Да, теперь create index offers_created_index on offers (created DESC NULLS LAST);
решил проблему + ваша версия
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
Спасибо
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dmitrii Korotovskii
Да, теперь create index offers_created_index on offers (created DESC NULLS LAST);
решил проблему + ваша версия
Покажите хоть план, любопытно же. ;)
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
источник

AD

Artem Danilov in pgsql – PostgreSQL
Yaroslav Schekin
Казалось бы, находите дубликаты по name, из них оставляете только с минимальными Id, например, и если их несколько, плачете переименовываете, да и всё... нет?
нет, проблема может быть в глубине.

у вас есть вложенная структура папок и файлов.
допустим в 10 уровней.

и дубли могут возникнуть на 8 уровне.
вы добавляете в начало необходимый текст в начало.

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

YS

Yaroslav Schekin in pgsql – PostgreSQL
Да это Вам как-то повезло — только 1 row отфильтровался по EXISTs.
Тем не менее, эффект-то хороший. ;)
источник

AD

Artem Danilov in pgsql – PostgreSQL
Yaroslav Schekin
Казалось бы, находите дубликаты по name, из них оставляете только с минимальными Id, например, и если их несколько, плачете переименовываете, да и всё... нет?
возможно есть решение как реализовать поведение подобно файловой системе с названиями, что крутится счетчик и при этом учитывает свободные значения
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Artem Danilov
нет, проблема может быть в глубине.

у вас есть вложенная структура папок и файлов.
допустим в 10 уровней.

и дубли могут возникнуть на 8 уровне.
вы добавляете в начало необходимый текст в начало.

но там уже такая запись есть то вам необходимо снова проверить и добавить в необходимый текст в начало
А почему вообще так происходит, что это приходится делать постфактум, почему нельзя сразу запрещать вставку дубликатов?
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
Yaroslav вернулся щас к оригинальному - достаточно EXISTS + фикс сортировки с индексом. джойн на картинки можно сотавивить
источник

AD

Artem Danilov in pgsql – PostgreSQL
Yaroslav Schekin
А почему вообще так происходит, что это приходится делать постфактум, почему нельзя сразу запрещать вставку дубликатов?
трабл возник при перемещении, когда пользователь перемещает файлы или папки.

и папки с одинаковым названием необходимо слить воедино
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dmitrii Korotovskii
Yaroslav вернулся щас к оригинальному - достаточно EXISTS + фикс сортировки с индексом. джойн на картинки можно сотавивить
Ну так в этом-то и был смысл.
Я же поэтому и писал, что currencies и images — это "декорации", т.е. не должны на "основу" плана влиять.
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
👍
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Artem Danilov
трабл возник при перемещении, когда пользователь перемещает файлы или папки.

и папки с одинаковым названием необходимо слить воедино
Так если всё начинается с корректной структуры, то, казалось бы, Вам нужно перемещения по одному обрабатывать (сверху вниз), и искать свободное название (т.е. "clone, clone_clone, ..." или "clone1, clone2, ...", если я правильно понял)?
источник

AD

Artem Danilov in pgsql – PostgreSQL
Yaroslav Schekin
Так если всё начинается с корректной структуры, то, казалось бы, Вам нужно перемещения по одному обрабатывать (сверху вниз), и искать свободное название (т.е. "clone, clone_clone, ..." или "clone1, clone2, ...", если я правильно понял)?
да так и есть.
просто первая реализация получилась очень страшная и начал топтаться на месте.
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
А почему когда я начинаю использовать оператор OR для полей даты у меня постгрес перестает использовать индекс?
источник

DK

Dmitrii Korotovskii in pgsql – PostgreSQL
А нет, это когда добавляется  IS NULL к полю с датой
источник

GB

Green Bear in pgsql – PostgreSQL
Добрый вечер, пытаюсь сделать сортировку строк, подскажите, на сколько это надежный метод

new_pos = ((before_pos - after_pos) / 2) + after_pos

Поле position float8
источник