Size: a a a

2021 April 28

SK

Sergio Keler in SPb Python
-- Выдаётся код на персону. Один на TID
-- Родительские коды мб только один! и выдан один раз!

drop table refer;
create table refer (
   code varchar(8) not null,   -- код свой
   parent varchar(8) not null, -- родительский код
   tid int not null            -- telegram id персоны
);
create index refer_code on refer(code);
create index refer_parent on refer(parent);
create index refer_tid on refer(tid);

-- is_code_under(from_code, match_code, recursion_depth);
-- Ищет match_code начиная с parent = from_code, ограничивает рекурсию.

create or replace function is_code_under(p_from varchar(8), p_match varchar(8), depth int) returns int
language plpgsql
as $$
   declare
       rc int;
   begin
       with recursive tids(code,parent,tid) as (
           select refer.code,refer.parent,refer.tid
               from refer where parent=$1
           union
               select refer.code,refer.parent,refer.tid from refer,tids where tids.code=refer.parent
       ) select count(*) into rc from tids where code = $2 limit $3;
       return rc;
   end;
$$;

Вот функция, которая ищет в дереве от текущего узла до корня, есть такой некий ключ там уже или нет.
Это реферальная система для телеги: тебе дают ключик, ты его всем раздаёшь, люди с ним регситрятся, получают скидос, тебе тоже скидос. Чем больше с твоим ключом народу, тебе больше плюшек. Блаблабла...
По сути же это дерево. твой овнер_ид -- у меня называется parent, code - это типа id. tid - полезные данные какие-то, не обращай внимания. У меня возвращается количество совпадений заданного code. тебе же можно просто выводить туплы.
Это постгрес, если что.
источник

ВЛ

Влад Легкодымов... in SPb Python
Кто call бомбер поможет собрать? За деньги, работа через гаранта!
источник

p

pragus in SPb Python
О, надо сходить ;)
источник

EE

Egor Egorov in SPb Python
мы спумеров не любим
источник

ВЛ

Влад Легкодымов... in SPb Python
Не, я живой человек! Программа нужна для борьбы с нечестными конкурентами.
источник

MB

Max Block in SPb Python
Ваше предложение с юридической точки зрения очень проблемное.

Позволю дать себе рекомендации при поиске работников для подобных дел:
1) Пользоваться тематическими форумами. Они есть. И там вы найдете исполнителя, через ганатра.
2) Не святить свое настоящее имя. Когда кому-то надо, то полиция работает.
источник

ВЛ

Влад Легкодымов... in SPb Python
Благодарю)
Эх, если бы я светил свое настоящее имя, пхпхпх
источник

EE

Egor Egorov in SPb Python
а я как то помню, посмотрел сорцы бомбера и решил всем компаниям у кого дыры открыты написать и рассказать о проблеме
источник

EE

Egor Egorov in SPb Python
удивительно, но большинство было пофигу
источник

MB

Max Block in SPb Python
источник

ВЛ

Влад Легкодымов... in SPb Python
Хаха, да, все верно, раскрыли меня
источник

DI

Danil Ivanov in SPb Python
Ждём )
источник

SM

Serge Matveenko in SPb Python
источник

ЕЖ

Егор Журавлёв... in SPb Python
Да, спасибо тут даже разные подходы расписаны
источник

MB

M B in SPb Python
Сколько примерно человек обычно на дринкапы приходит? И есть ли какие-нибудь митапы в обозримом будущем?
источник

DA

Dmitry Alimov in SPb Python
☝🏻
источник

MB

M B in SPb Python
Спасибо, проглядел
источник

DS

David Shiko in SPb Python
Спасибо, выглядит круто, но сложно, я через месяц офигею читать этот код))
источник

A

Alexander in SPb Python
У нас используется такой подход в одной таблице. Если честно, мне не особо нравится, но с функциональной точки зрения работает нормально.
Всё зависит от того, насколько часто такой поиск надо будет проводить. Чтобы прямо от родителя поискать вдоль всех потомков.
источник

SK

Sergio Keler in SPb Python
Там десяток строк
источник