Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
LTREE - как двигать поддеревья?
|
|||
|---|---|---|---|
|
#18+
Как работать с деревьями с использованием ltree? Может ссылка с приличным примером есть. Но хотелось бы полноценную работу, т.е - добавление - удаление узлов и поддеревьев - перевешивание поддеревьев ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2016, 20:29 |
|
||
|
LTREE - как двигать поддеревья?
|
|||
|---|---|---|---|
|
#18+
Уточнение 1. Как добавлять узлы к родителю? надо ли делать значение пути узла уникальным среди братьев, как это делается в SQL Server HierarchyID? Или он может быть таким же как у братьев? 2. Как сделать переваешивание поддерева к другому паренту, пересчет путей в поддереве? 3. Не могу найти какие-то примеры такой реализации, буду благодарен за ссылки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 09:33 |
|
||
|
LTREE - как двигать поддеревья?
|
|||
|---|---|---|---|
|
#18+
по первому вопросу можно два способа: было 1. А.B.C добавляем D к ветке C лучше инсертить новую запись (так как может оказаться что изначально у нас была запись ABCE а присваиваем D к С) 1.A.B.C 2.A.B.C.E по второму вопросу: перевешивание я бы примерно сделал так: несколько действий (в рамках одной тарнзакции (функции)) было 1. A.B.C.D 2. A.B.C.E 3. F.G 4. F.S допустим хотим перевешать поддерево С на F находим все деревья содержащие поддерево С 1. A.B.C.D 2. A.B.C.E находим все потомки содержащие в С С.D С.E удаляем эти записи из LTREE (1 и 2я запись) добавляем родительскую запись без С (если нет в бд веток с таким началом, например уже может быть A.B.H.W) 5. A.B. и добавляем новые записи 6. F.C.D 7. F.C.E в итоге получаем: 3. F.G 4. F.S 5. A.B. 6. F.C.D 7. F.C.E ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 10:54 |
|
||
|
LTREE - как двигать поддеревья?
|
|||
|---|---|---|---|
|
#18+
по первому вопросу лучше всего через || ltree || ltree - объединяет два пути ltree ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2016, 10:56 |
|
||
|
LTREE - как двигать поддеревья?
|
|||
|---|---|---|---|
|
#18+
Есть ли аналог функции в SQL Server IsDescendantOf? или как сделать такую выборку при использовании ltree? зы. Функция определяет является ли данный узел потомком Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Who are descendants of the CFO? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2016, 11:38 |
|
||
|
LTREE - как двигать поддеревья?
|
|||
|---|---|---|---|
|
#18+
Ролг Хупин, Принципиально с документацией не дружите?.. https://www.postgresql.org/docs/current/static/ltree.html#AEN172117 OperatorReturnsDescriptionltree <@ ltreebooleanis left argument a descendant of right (or equal)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2016, 12:43 |
|
||
|
LTREE - как двигать поддеревья?
|
|||
|---|---|---|---|
|
#18+
vyegorovРолг Хупин, Принципиально с документацией не дружите?.. https://www.postgresql.org/docs/current/static/ltree.html#AEN172117 OperatorReturnsDescriptionltree <@ ltreebooleanis left argument a descendant of right (or equal)? Не дружу, документация - это серьезная вещь, ее надо прорабатывать и изучать Я кстати, некоторые ответы некоего vyegorov нашел на стековерфлоу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2016, 19:41 |
|
||
|
LTREE - как двигать поддеревья?
|
|||
|---|---|---|---|
|
#18+
Ролг ХупинЯ кстати, некоторые ответы некоего vyegorov нашел на стековерфлоу Не поверишь — это тоже я :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2016, 21:09 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39302475&tid=1997007]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 170ms |

| 0 / 0 |
