Pull to refresh

Comments 7

UFO just landed and posted this here
if local.id is not null then -- если задан id
        local.id = translate(local.id, '[]','{}');
        if local.id ilike '{%}' then -- если id - массив
            if local.full then -- если все результаты
                with _ as (
                    with _ as (
                        select * from gar_select(local.id::uuid[])
                    ) select count(1), gar_select.json as query, local.offset, local.limit, (
                        with _ as (
                     ...
                     ...
										 ...
         with _ as (
                    with _ as (
                        select * from gar_select(local.parent::uuid, local.name, local.short, local.type, local.post, local.region)
                    ) select count(1), gar_select.json as query, local.offset, local.limit, (
                        with _ as (
                            select *, case when local.child then gar_child(_.id) end as child from _ offset local.offset limit local.limit
                        ) select coalesce(json_agg(_), '[]'::json) from _
                    ) as data from _
                ) select to_json(_) from _ into strict gar_select.json;
            end if;
        end if;
    end if;
end;$body$;

И как вот это вот все поддерживать, масштабировать и передовать потомкам?

передАвать.
Простите, захлестнули эмоции.

Да нее, такое только передОвать можно)

У самого на проекте такая жуть. Когда открываешь на правку, то хочется забиться в угол и заплакать как маленькая девочка.

Как мне кажется, в каждом проекте есть то, за что стыдно. И это нормально)
Просто серия статей, плюс минус ок, хотя несколько и оторванна от современных реалий, но имеет место быть.
Но.
Жесть в реализации.

мне тоже очень не нравится, как эта функция выглядит

масштабировать

если одна база не будет справляться - можно поднять кучу реплик standby и пустить на них кучу nginx-ов, т.к. всё равно используются запросы только на чтение

Я, конечно, не знаю всех задач, инфраструткры, которая у вас есть. Но как мне кажется, выгоднее было бы завести редиску с дозаправкой или аналогичный ки-вэлью.

Sign up to leave a comment.

Articles