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

Если у меня такая структура, то откуда берутся данные в

массивах для вставки? Генерируются внешним кодом? Есть какой-то встроенный функционал внутри сервера может быть?
В смысле - 1...8 могут быть с помощью автоинкремента реализованы, данные "полезной нагрузки" я сам генерирую, а вот положение элемента (его путь) - откуда он берется?

id | name
-------------------
1 | comment_1
2 | comment_1_1
3 | comment_1_1_1
4 | comment_1_2
5 | comment_2
6 | comment_2_1
7 | comment_2_2
8 | comment_3
Вот это сам запрос:
INSERT INTO tree (id, path, name) VALUES
(1, '{1}', 'item_1'),
(2, '{1,2}', 'item_1_1'),
(3, '{1,2,3}', 'item_1_1_1'),
(4, '{1,2,4}', 'item_1_1_2'),
(5, '{1,5}', 'item_1_2'),
(6, '{1,5,6}', 'item_1_2_1'),
(7, '{1,5,7}', 'item_1_2_2'),
(8, '{8}', 'item_2');
"Может быть, у Вас в основном запросы, которые проще выражаютя с materialized path?" - я наткнулся на статью с описанием основных подходов (там было три вида) и понял, что materialized path скорее всего наиболее мне подходит.

2 ответов

12 просмотров

> Генерируются внешним кодом? Так path — это позиция, куда Вы хотите поместить узел. Т.е. Вы сами её указываете при вставке (или генерируете при вставке узла X как дочернего к узлу с Id Y, можно и триггером). (И вообще такое дерево лучше поддерживать триггерами, наверное.) > автор ссылается на что-то под названием "LTREE" для Postgres, но что это я толком пока не могу понять... Это (являющееся частью самого PostgreSQL) расширение для работы с древовидными структурами. Вообще, наверное, Вам лучше подробнее спрашивать в канале по PostgreSQL ( https://t.me/pgsql ).

Это не дерево. Это просто одна колонка в таблице, указывающая на ид вышестоящей сущности.

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

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

Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
14
Карта сайта