powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / PostgreSQL [закрыт для гостей] / Кто писал процедуры на постгрес?
102 сообщений из 102, показаны все 5 страниц
Кто писал процедуры на постгрес?
    #166628
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блиа чота не дорубаю нихуя.

Есть справочник raw_md.asset_types иерархический, мне нужны только листовые нижние значения их в районе 15, но может со временем меняться, и нужны коды.
Есть таблица public.nums числовой с последовательностью от 1 до 1млн - для множения.
Нужно заполнить таблицу raw_md.assets(type_code) случайными значениями некое количество раз - это количество задается в asset_count.

Ну нахуячил запрос - который работает - просто селект:
Спойлер
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
  with ast as
  (
    select type_code, row_number() over (order by type_code) as rn
    from raw_md.asset_types
    where parent_code is not null
  )
  , n as
  (
    select num,
      1 + cast((select max(rn) as mrn from ast) * random() as int) as rnd
    from public.nums n
  )
  --insert into raw_md.assets(type_code) values
  select ast.type_code
  from n join ast
    on n.rnd = ast.rn
  limit :asset_count;
теперь 2 вопроса:
1 - как бл сделать вставку в таблицу этого говна? ну то есть коментарий перед insert разкомичиваю и пиздарики:
SQL Error [42601]: ERROR: syntax error at or near "select" Позиция: 322 Позиция ошибки: line: 38 pos: 321
2 - как это говно обернуть в процедуру? здесь чота вообще сломался - если language plpgsql одна ошибка, если language sql - другая ошибка
в общем такой код не хочет работать:
Спойлер
Код: 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.
25.
drop procedure if exists raw_md.assets_random_insert;
create or replace procedure raw_md.assets_random_insert (asset_count int)
language plpgsql
as $body$
begin
  with ast as
  (
    select type_code, row_number() over (order by type_code) as rn
    from raw_md.asset_types
    where parent_code is not null
  )
  , n as
  (
    select num,
      1 + cast((select max(rn) as mrn from ast) * random() as int) as rnd
    from public.nums n
  )
  insert into raw_md.assets(type_code) values
  select ast.type_code
  from n join ast
    on n.rnd = ast.rn
  limit :asset_count;
end;
$body$;
call raw_md.assets_random_insert(15);
SQL Error [42601]: ERROR: syntax error at or near "select" Позиция: 435 Позиция ошибки: line: 35 pos: 434
я понимаю что чота где то на поверхности, может примеры есть каких нибудь процедур которые чота вставляют используют параметры и переменные? в гугле особо нихера не нашел рабочего.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166629
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет [игнорируется] 

values не пробовал убрать?
...
Рейтинг: 1 / 0
Нравится: Дед-Папыхтет
Кто писал процедуры на постгрес?
    #166633
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  28.09.2022, 15:17
[игнорируется]
Дед-Папыхтет [игнорируется] 

values не пробовал убрать?
аааа бл )))))
да ща.
уже думал курсор цикл городить поэтому валуэс и появился
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166636
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  28.09.2022, 15:17
[игнорируется]
Дед-Папыхтет [игнорируется] 

values не пробовал убрать?
Всё получилось, еще был вопрос по параметру - убрал двоеточие и взлетело.
Спасибо
...
Рейтинг: 1 / 0
Нравится: Горбатый ёж
Кто писал процедуры на постгрес?
    #166637
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет [игнорируется] 

Кстати на мой вкус SQL процедуры очень на любителя и имеют весьма ограниченное применение.
Я даже не очень понимаю смысла их существования.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166639
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  28.09.2022, 15:19
[игнорируется]
Дед-Папыхтет [игнорируется] 

Кстати на мой вкус SQL процедуры очень на любителя и имеют весьма ограниченное применение.
Я даже не очень понимаю смысла их существования.
Ну я процедуры только осваиваю - это вторая процедура. 1я взлетела в таком виде)))))
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
drop procedure if exists raw_md.assets_clear;
create or replace procedure raw_md.assets_clear()
language sql
as $$
  truncate table raw_md.asset_values;

  alter table raw_md.asset_values
    drop constraint asset_values_asset_id_fkey;

  truncate table raw_md.assets;

  alter table raw_md.asset_values
    add foreign key (asset_id) references raw_md.assets(asset_id);
$$;

call raw_md.assets_clear();
кстати вопрос который возник во время написания...
хотел добавить параметр doVacuum boolean

и добавить код в конце

if (doVacuum) vacuum;

но чота пошло не так - плюнул на это. Но тоже интересно конструкцию if else в процедуры же полюбому можно пихать? а vacuum? тоже без if даже отказалась компилироваться... может действительно нужно юзать language plpgsql?
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166672
a.v.z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Верно, if else в sql нет, а в plpgsql - есть
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166695
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щас при выполнении количество вынес в отдельную переменную, убрал подзапрос.
не знаю как использовать в запросе значение переменной объявленной выше
err1.png
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166696
a.v.z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет [игнорируется] 

select count(*) into variable from ...
...
Изменено: 28.09.2022, 15:46 - a.v.z
Рейтинг: 2 / 0
Кто писал процедуры на постгрес?
    #166724
Мудило
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
Горбатый ёж  28.09.2022, 15:19
[игнорируется]
Дед-Папыхтет [игнорируется] 

Кстати на мой вкус SQL процедуры очень на любителя и имеют весьма ограниченное применение.
Я даже не очень понимаю смысла их существования.
ну ёпт. Скажу за оракл

Когда пишешь нивъебенный селект бывает иногда Проще

зажать выборку по функции Pipe line которая хитро генерит набор значений для
where x in ( select id from f(a) )

Процедуры когда логика на сервере. А как иначе? пихать в тригера шоп всё тормозилло? проще с клиента на сервере дернуть процедуру
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166758
Ханурик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Барсук-копатель  28.09.2022, 15:52
[игнорируется]
Какие нахуй процедуры в постгре?! Папых совсем ебанулся! Все со своим монолитным подходом! Изучай и пиши микросервисы, сука!
Микросервисы - это хорошо, но есть много ситуаций, когда это будет из пушки по воробьям.

Процедуры - тоже не нужно пихать куда ни попадя, но в своей нише они полезны.

Простой пример: пусть у нас есть некое преобразование данных (ну, например, преобразование каких-нибудь координат из одной системы в другую), и есть какие-то запросы к базе, где результат этого преобразования используется (например, сравнивается с каким-то другим полем таблицы внутри условия WHERE).
Вопрос - где будем программировать код для этого преобразования данных? Можно, конечно, это сделать в своем приложении, можно даже завернуть внутрь ORM, можно при желании даже сделать микросервисом - но тогда приложение с такой логикой получится монструозное и, возможно, тормозное.
А вот если это преобразование данных сделать процедурой, и в других запросах эту процедуру вызывать - все получится легко и просто.
...
Рейтинг: 1 / 0
Нравится: Кусь
Кто писал процедуры на постгрес?
    #166760
Мудило
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
Ханурик  28.09.2022, 16:13
[игнорируется]
Барсук-копатель  28.09.2022, 15:52
[игнорируется]
Какие нахуй процедуры в постгре?! Папых совсем ебанулся! Все со своим монолитным подходом! Изучай и пиши микросервисы, сука!
Микросервисы - это хорошо, но есть много ситуаций, когда это будет из пушки по воробьям.

Процедуры - тоже не нужно пихать куда ни попадя, но в своей нише они полезны.

Простой пример: пусть у нас есть некое преобразование данных (ну, например, преобразование каких-нибудь координат из одной системы в другую), и есть какие-то запросы к базе, где результат этого преобразования используется (например, сравнивается с каким-то другим полем таблицы внутри условия WHERE).
Вопрос - где будем программировать код для этого преобразования данных? Можно, конечно, это сделать в своем приложении, можно даже завернуть внутрь ORM, можно при желании даже сделать микросервисом - но тогда приложение с такой логикой получится монструозное и, возможно, тормозное.
А вот если это преобразование данных сделать процедурой, и в других запросах эту процедуру вызывать - все получится легко и просто.
ну я так примерно и нопейсал только ты более чотко сформулил
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166782
Ханурик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Барсук-копатель  28.09.2022, 16:22
[игнорируется]
Ханурик  28.09.2022, 16:13
[игнорируется]
Барсук-копатель  28.09.2022, 15:52
[игнорируется]
Какие нахуй процедуры в постгре?! Папых совсем ебанулся! Все со своим монолитным подходом! Изучай и пиши микросервисы, сука!
Микросервисы - это хорошо, но есть много ситуаций, когда это будет из пушки по воробьям.

Процедуры - тоже не нужно пихать куда ни попадя, но в своей нише они полезны.

Простой пример: пусть у нас есть некое преобразование данных (ну, например, преобразование каких-нибудь координат из одной системы в другую), и есть какие-то запросы к базе, где результат этого преобразования используется (например, сравнивается с каким-то другим полем таблицы внутри условия WHERE).
Вопрос - где будем программировать код для этого преобразования данных? Можно, конечно, это сделать в своем приложении, можно даже завернуть внутрь ORM, можно при желании даже сделать микросервисом - но тогда приложение с такой логикой получится монструозное и, возможно, тормозное.
А вот если это преобразование данных сделать процедурой, и в других запросах эту процедуру вызывать - все получится легко и просто.
ХРАНИ В ФОРМАТЕ, ПОЗВОЛЯЩЕМ СРАВНИВАТЬ БЕЗ ПРЕОБРАЗОВАНИЙ, СУКА!
Это не всегда бывает можно - тем более что иногда бывает нужно преобразоваывать то так, то сяк в зависимости от каких-то условий.
Пытаться хранить внагрузку к основным хранимым данных кучу предвычисленных результатов разных преобразований - так себе решение, тоже не всегда будет удачным.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166964
Тень на плетень
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  28.09.2022, 15:19
[игнорируется]
Дед-Папыхтет [игнорируется] 

Кстати на мой вкус SQL процедуры очень на любителя и имеют весьма ограниченное применение.
Я даже не очень понимаю смысла их существования.
Смысл, например упаковать все готовые функции в одно место и забыть.
...
Кто в предыдущие годы набил карманы за счет всяких "процессов" в экономике 90-х годов, они точно не элита, а кусок говна.
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166973
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  28.09.2022, 15:15
[игнорируется]
Блиа чота не дорубаю нихуя.

Есть справочник raw_md.asset_types иерархический, мне нужны только листовые нижние значения их в районе 15, но может со временем меняться, и нужны коды.
Есть таблица public.nums числовой с последовательностью от 1 до 1млн - для множения.
Нужно заполнить таблицу raw_md.assets(type_code) случайными значениями некое количество раз - это количество задается в asset_count.

Ну нахуячил запрос - который работает - просто селект:
Спойлер
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
  with ast as
  (
    select type_code, row_number() over (order by type_code) as rn
    from raw_md.asset_types
    where parent_code is not null
  )
  , n as
  (
    select num,
      1 + cast((select max(rn) as mrn from ast) * random() as int) as rnd
    from public.nums n
  )
  --insert into raw_md.assets(type_code) values
  select ast.type_code
  from n join ast
    on n.rnd = ast.rn
  limit :asset_count;
теперь 2 вопроса:
1 - как бл сделать вставку в таблицу этого говна? ну то есть коментарий перед insert разкомичиваю и пиздарики:
SQL Error [42601]: ERROR: syntax error at or near "select" Позиция: 322 Позиция ошибки: line: 38 pos: 321
2 - как это говно обернуть в процедуру? здесь чота вообще сломался - если language plpgsql одна ошибка, если language sql - другая ошибка
в общем такой код не хочет работать:
Спойлер
Код: 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.
25.
drop procedure if exists raw_md.assets_random_insert;
create or replace procedure raw_md.assets_random_insert (asset_count int)
language plpgsql
as $body$
begin
  with ast as
  (
    select type_code, row_number() over (order by type_code) as rn
    from raw_md.asset_types
    where parent_code is not null
  )
  , n as
  (
    select num,
      1 + cast((select max(rn) as mrn from ast) * random() as int) as rnd
    from public.nums n
  )
  insert into raw_md.assets(type_code) values
  select ast.type_code
  from n join ast
    on n.rnd = ast.rn
  limit :asset_count;
end;
$body$;
call raw_md.assets_random_insert(15);
SQL Error [42601]: ERROR: syntax error at or near "select" Позиция: 435 Позиция ошибки: line: 35 pos: 434
я понимаю что чота где то на поверхности, может примеры есть каких нибудь процедур которые чота вставляют используют параметры и переменные? в гугле особо нихера не нашел рабочего.
Я писал в 2013. Я тогда был умственно неполноценным.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166976
kkk-jjj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, завернули прикладную функцию в хранимку и вынесли её на CPU БД. Теперь, чтобы отмасштабировать приложение, надо добавлять ядра к целой БД. А если там ещё какой-то гавноотчёт считается - админов привлекать, чтобы нагрузку разделили? В итоге - эксплуатация - дороже. Масштабирование - дороже. Особенно, если БД лицензионная, где, чтобы процессор добавить надо ядро покупать.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166989
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Барсук-копатель  28.09.2022, 18:17
[игнорируется]
letrovada  28.09.2022, 18:16
[игнорируется]
Дед-Папыхтет  28.09.2022, 15:15
[игнорируется]
Блиа чота не дорубаю нихуя.

Есть справочник raw_md.asset_types иерархический, мне нужны только листовые нижние значения их в районе 15, но может со временем меняться, и нужны коды.
Есть таблица public.nums числовой с последовательностью от 1 до 1млн - для множения.
Нужно заполнить таблицу raw_md.assets(type_code) случайными значениями некое количество раз - это количество задается в asset_count.

Ну нахуячил запрос - который работает - просто селект:
Спойлер
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
  with ast as
  (
    select type_code, row_number() over (order by type_code) as rn
    from raw_md.asset_types
    where parent_code is not null
  )
  , n as
  (
    select num,
      1 + cast((select max(rn) as mrn from ast) * random() as int) as rnd
    from public.nums n
  )
  --insert into raw_md.assets(type_code) values
  select ast.type_code
  from n join ast
    on n.rnd = ast.rn
  limit :asset_count;
теперь 2 вопроса:
1 - как бл сделать вставку в таблицу этого говна? ну то есть коментарий перед insert разкомичиваю и пиздарики:
SQL Error [42601]: ERROR: syntax error at or near "select" Позиция: 322 Позиция ошибки: line: 38 pos: 321
2 - как это говно обернуть в процедуру? здесь чота вообще сломался - если language plpgsql одна ошибка, если language sql - другая ошибка
в общем такой код не хочет работать:
Спойлер
Код: 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.
25.
drop procedure if exists raw_md.assets_random_insert;
create or replace procedure raw_md.assets_random_insert (asset_count int)
language plpgsql
as $body$
begin
  with ast as
  (
    select type_code, row_number() over (order by type_code) as rn
    from raw_md.asset_types
    where parent_code is not null
  )
  , n as
  (
    select num,
      1 + cast((select max(rn) as mrn from ast) * random() as int) as rnd
    from public.nums n
  )
  insert into raw_md.assets(type_code) values
  select ast.type_code
  from n join ast
    on n.rnd = ast.rn
  limit :asset_count;
end;
$body$;
call raw_md.assets_random_insert(15);
SQL Error [42601]: ERROR: syntax error at or near "select" Позиция: 435 Позиция ошибки: line: 35 pos: 434
я понимаю что чота где то на поверхности, может примеры есть каких нибудь процедур которые чота вставляют используют параметры и переменные? в гугле особо нихера не нашел рабочего.
Я писал в 2013. Я тогда был умственно неполноценным.
Ты не особо развился и сейчас
Тут сложно согласиться.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166991
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я потом стал умный и стал пейсать движки СУБД, для меня пейсатели хранимок стали быдлом и юзерами.
Я на них сру, сидя на фонаре ночью.
Ну и какбэ я пришёл к тому, что сраные базоёбы не нужны в мире, где дохуя денег.
Если они где-то в этом мире ещё остались, значит кое-кто успешно наёбывает менеджмент на просёр денег на свои бессмысленные зарплаты и на лишние сервера - молодцы, хули.
Если у тебя достаточно серьёзный бузинесс и кучи данных, то тебе легче нахуярить на C++ прямо сразу бинарник который всё хранит и процессит в том виде, в котором оптимально по железу.
...
Изменено: 28.09.2022, 18:26 - letrovada
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166997
kkk-jjj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это в каком виде?
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #166998
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkk-jjj  28.09.2022, 18:35
[игнорируется]
Это в каком виде?
Хер знает. А чё за вопрос у тебя? Поделись с нами.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167000
kkk-jjj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, например, хвостовая рекурсия в C++ для 64-битных аргументов будет работать или нет? А для 128-битных?
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167002
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Барсук-копатель  28.09.2022, 16:22
[игнорируется]
Ханурик  28.09.2022, 16:13
[игнорируется]
Барсук-копатель  28.09.2022, 15:52
[игнорируется]
Какие нахуй процедуры в постгре?! Папых совсем ебанулся! Все со своим монолитным подходом! Изучай и пиши микросервисы, сука!
Микросервисы - это хорошо, но есть много ситуаций, когда это будет из пушки по воробьям.

Процедуры - тоже не нужно пихать куда ни попадя, но в своей нише они полезны.

Простой пример: пусть у нас есть некое преобразование данных (ну, например, преобразование каких-нибудь координат из одной системы в другую), и есть какие-то запросы к базе, где результат этого преобразования используется (например, сравнивается с каким-то другим полем таблицы внутри условия WHERE).
Вопрос - где будем программировать код для этого преобразования данных? Можно, конечно, это сделать в своем приложении, можно даже завернуть внутрь ORM, можно при желании даже сделать микросервисом - но тогда приложение с такой логикой получится монструозное и, возможно, тормозное.
А вот если это преобразование данных сделать процедурой, и в других запросах эту процедуру вызывать - все получится легко и просто.
ХРАНИ В ФОРМАТЕ, ПОЗВОЛЯЩЕМ СРАВНИВАТЬ БЕЗ ПРЕОБРАЗОВАНИЙ, СУКА!
Слушай, ну щас задача простая до написания микросервиса, нужно продемонстрировать выдерживание нагрузки определенной структуры. То есть задача нагенерить случайных данных в заданную структуру 1млн-10-млн-100млн. и показать цифрами скорость запросов. Ну такую задачу поставил начальник.
И чо? под этот тест микросервис писать? ну пишу процедуру - заполнения мусорными данными ряда таблиц, после несколько типовых селектов с замером скорости. так вот что бы не вспоминать что почистить до что после что сначала добавить что позже - проще нарисовать именно для этой задачи хранимку - заполнение данными (количество_таб1, количество_таб2).
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167007
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkk-jjj  28.09.2022, 18:37
[игнорируется]
Ну вот, например, хвостовая рекурсия в C++ для 64-битных аргументов будет работать или нет? А для 128-битных?
C++ - просто инструмент, которым ты ебошишь по железке-процессору. Что процессор-железка может, то и будет у тоби.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167010
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хвостовая, ебловая, какая хочешь за твои деньги. Любой нахуй битности там хуитности ска дон.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167012
Фотография Буся
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
letrovada  28.09.2022, 18:47
[игнорируется]
kkk-jjj  28.09.2022, 18:37
[игнорируется]
Ну вот, например, хвостовая рекурсия в C++ для 64-битных аргументов будет работать или нет? А для 128-битных?
C++ - просто инструмент, которым ты ебошишь по железке-процессору. Что процессор-железка может, то и будет у тоби.
просто инструмент что бы машкоды более внятно выглядели
...
хвост есть продолжение кошки
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167014
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Буся  28.09.2022, 18:49
[игнорируется]
letrovada  28.09.2022, 18:47
[игнорируется]
kkk-jjj  28.09.2022, 18:37
[игнорируется]
Ну вот, например, хвостовая рекурсия в C++ для 64-битных аргументов будет работать или нет? А для 128-битных?
C++ - просто инструмент, которым ты ебошишь по железке-процессору. Что процессор-железка может, то и будет у тоби.
просто инструмент что бы машкоды более внятно выглядели
Да там хуй их разберёт, там уже машкодов ты и не видишь даже в ассемблере.
Что там в ядре проца происходит вообще уже хуй разберётся.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167015
kkk-jjj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы C++ с Sphinx C-- перепутали, наверное. Вот C-- - это была вещь, да!
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167017
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkk-jjj  28.09.2022, 18:49
[игнорируется]
Вы C++ с Sphinx C-- перепутали, наверное. Вот C-- - это была вещь, да!
Если у нас C++, то перепутать можем себе позволить что с чем угодно. Вообще похуй при таких возможностях.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167028
Мудило
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
kkk-jjj  28.09.2022, 18:49
[игнорируется]
Вы C++ с Sphinx C-- перепутали, наверное. Вот C-- - это была вещь, да!
да хоть Ху*++

понабежали тут пейсатели Львы Толстые блиать

Надо пейсать на нативном Sql движке субд, все эти вставки из непонятного говна потом образуют голимый легаси в котором никто не можыд разобраццо после того как аффтара вышибли пинком нацыстского сапога из этой говноконторы
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167036
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мудило  28.09.2022, 18:58
[игнорируется]
kkk-jjj  28.09.2022, 18:49
[игнорируется]
Вы C++ с Sphinx C-- перепутали, наверное. Вот C-- - это была вещь, да!
да хоть Ху*++

понабежали тут пейсатели Львы Толстые блиать

Надо пейсать на нативном Sql движке субд, все эти вставки из непонятного говна потом образуют голимый легаси в котором никто не можыд разобраццо после того как аффтара вышибли пинком нацыстского сапога из этой говноконторы
Вставки себе в глазницу запихай и молотком протолкни нахой.
Речь идёт о выкидывании всех этих ваших сраных СУБД и написании алгоритма и структур данных под задачу.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167037
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только строгая типизация, только фиксированные схемы, только свои патчи в ядро и драйвера сетевух.
Остальное - для обоссаных пупсов, наябывающих менеджмент, чтобы построить домишко под москвой.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167039
kkk-jjj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё-таки лучше на нормальном языке писать - с хвостовой рекурсией, инвариантами и распараллеливанием. В том же си++ придётся самому кражу работы в форк джойн пуле делать. Несложно, конечно. Но почему бы не взять скалу, например?
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167052
Мудило
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
letrovada  28.09.2022, 19:02
[игнорируется]
Мудило  28.09.2022, 18:58
[игнорируется]
kkk-jjj  28.09.2022, 18:49
[игнорируется]
Вы C++ с Sphinx C-- перепутали, наверное. Вот C-- - это была вещь, да!
да хоть Ху*++

понабежали тут пейсатели Львы Толстые блиать

Надо пейсать на нативном Sql движке субд, все эти вставки из непонятного говна потом образуют голимый легаси в котором никто не можыд разобраццо после того как аффтара вышибли пинком нацыстского сапога из этой говноконторы
Вставки себе в глазницу запихай и молотком протолкни нахой.
Речь идёт о выкидывании всех этих ваших сраных СУБД и написании алгоритма и структур данных под задачу.
С которыми потом никто нихера не разберетсо кроме афтара которого пристрелили у окопа. Не говоря о том што в бангах нопремер многие не айтисты херачат сами нужные селекты и выгрузки иксель на скуэле, а с этими йобаными поделками не каждый айтист разберется не говоря ушь о пользаке
images (1).jpeg
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167054
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мудило  28.09.2022, 19:15
[игнорируется]
letrovada  28.09.2022, 19:02
[игнорируется]
Мудило  28.09.2022, 18:58
[игнорируется]
kkk-jjj  28.09.2022, 18:49
[игнорируется]
Вы C++ с Sphinx C-- перепутали, наверное. Вот C-- - это была вещь, да!
да хоть Ху*++

понабежали тут пейсатели Львы Толстые блиать

Надо пейсать на нативном Sql движке субд, все эти вставки из непонятного говна потом образуют голимый легаси в котором никто не можыд разобраццо после того как аффтара вышибли пинком нацыстского сапога из этой говноконторы
Вставки себе в глазницу запихай и молотком протолкни нахой.
Речь идёт о выкидывании всех этих ваших сраных СУБД и написании алгоритма и структур данных под задачу.
С которыми потом никто нихера не разберетсо кроме афтара которого пристрелили у окопа. Не говоря о том што в бангах нопремер многие не айтисты херачат сами нужные селекты и выгрузки иксель на скуэле, а с этими йобаными поделками не каждый айтист разберется не говоря ушь о пользаке
images (1).jpeg
Если нормально пейсать, то разребёшься. В мире людей, знающих хорошо написанный C++ с комментами - сильно больше, чем престарелых горбатых пузатых базоёбов-хранимщиков.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167057
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нормальный процедурно/ООП-ный код в виде программы "сверху вниз" куда проще, чем декларативный хранимочный узкоспециализированный.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167058
kkk-jjj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В C++ отлаживаться удобней, очевидно. Ошибку локализовать и добавить костыль для случая из bugdb - вполне по силам вчерашнему студенту.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167059
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkk-jjj  28.09.2022, 19:18
[игнорируется]
В C++ отлаживаться удобней, очевидно. Ошибку локализовать и добавить костыль для случая из bugdb - вполне по силам вчерашнему студенту.
Отлаживаться тебе не надо, если ты пишешь нормально. У тебя просто работает сразу, если ты не еблан и не пытаешься писать на си с указателями.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167060
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну в крайнем случае printf() - ов навтыкаешь и всё поймёшь.
...
Рейтинг: 0 / 1
Не нравится: vimba
Кто писал процедуры на постгрес?
    #167062
kkk-jjj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но! Если избавиться от процедурного подхода, в с++, то разрабатывать много проще. Вы пишите алгоритм, а операторы данных выносите наверх. А что это даёт? А это даёт возможность добавить кеш в любом месте. А ведь кеширование - это самый общий способ оптимизации. Если что-то работает долго - закешируй это!
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167063
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkk-jjj  28.09.2022, 19:20
[игнорируется]
Но! Если избавиться от процедурного подхода, в с++, то разрабатывать много проще. Вы пишите алгоритм, а операторы данных выносите наверх. А что это даёт? А это даёт возможность добавить кеш в любом месте. А ведь кеширование - это самый общий способ оптимизации. Если что-то работает долго - закешируй это!
Проще зарезаться. Нахой надо.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167064
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем нужен С\С++, когда есть assembler 1C?
...
Рейтинг: 1 / 0
Нравится: Горбатый ёж
Кто писал процедуры на постгрес?
    #167065
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  28.09.2022, 19:21
[игнорируется]
Зачем нужен С\С++, когда есть assembler 1C?
Нет 1С. Никто в мире про это не знает нихуя.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167066
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё хорошо на питончике писать всю вашу базоёбную хуйню. Коротко, понятно, процедурно, последовательно, отлаживаемо. Принтов навтыкал и готово.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167068
kkk-jjj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот питон, как-раз-таки тормозное говно. В нём даже нет официально хвостовой рекурсии!
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167069
kkk-jjj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По сравнению со скалой у питона никаких преимуществ.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167070
Мудило
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
letrovada  28.09.2022, 19:18
[игнорируется]
Нормальный процедурно/ООП-ный код в виде программы "сверху вниз" куда проще, чем декларативный хранимочный узкоспециализированный.
ога а целостность транзакционность чем поддерживать бушь ? данные наебнуцо и их никто не соберет никогда или транзакция ушла в никуда и не откатилась , и чо?

супт не просто таг придуманы и юзаются, нахуй ваши стебельки
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167079
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тень на плетень  28.09.2022, 18:11
[игнорируется]
Горбатый ёж  28.09.2022, 15:19
[игнорируется]
Дед-Папыхтет [игнорируется] 

Кстати на мой вкус SQL процедуры очень на любителя и имеют весьма ограниченное применение.
Я даже не очень понимаю смысла их существования.
Смысл, например упаковать все готовые функции в одно место и забыть.
Функции в одном месте - это пакет.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167085
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  28.09.2022, 18:38
[игнорируется]
задача нагенерить случайных данных в заданную структуру 1млн-10-млн-100млн
Так есть же в посгресе хрень какая-тт для генерации такого говна удобная...
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167088
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  28.09.2022, 19:37
[игнорируется]
Дед-Папыхтет  28.09.2022, 18:38
[игнорируется]
задача нагенерить случайных данных в заданную структуру 1млн-10-млн-100млн
Так есть же в посгресе хрень какая-тт для генерации такого говна удобная...
Я про это не слышал даже )
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167090
kkk-jjj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
letrovada  28.09.2022, 19:19
[игнорируется]
kkk-jjj  28.09.2022, 19:18
[игнорируется]
В C++ отлаживаться удобней, очевидно. Ошибку локализовать и добавить костыль для случая из bugdb - вполне по силам вчерашнему студенту.
Отлаживаться тебе не надо, если ты пишешь нормально. У тебя просто работает сразу, если ты не еблан и не пытаешься писать на си с указателями.
Я как-то издательскую систему поддерживал - там 300000 багов было. Её какие-то говнокодеры из кэмриджа писали. И как там напишешь нормально? Написали же уже - через жопу. Остаётся только локализовывать ошибку и исправлять.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167091
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
letrovada  28.09.2022, 19:20
[игнорируется]
в крайнем случае printf() - ов навтыкаешь
Еббадь!
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167093
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мудило  28.09.2022, 19:24
[игнорируется]
letrovada  28.09.2022, 19:18
[игнорируется]
Нормальный процедурно/ООП-ный код в виде программы "сверху вниз" куда проще, чем декларативный хранимочный узкоспециализированный.
ога а целостность транзакционность чем поддерживать бушь ? данные наебнуцо и их никто не соберет никогда или транзакция ушла в никуда и не откатилась , и чо?

супт не просто таг придуманы и юзаются, нахуй ваши стебельки
Я умею надёжно переводить бабло со счёта А на счёт Б, если А и Б - это два разных не свзяанных компа с дешёвыми MySQL.
Почему я должен обосраться и в вашем случае?
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167095
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  28.09.2022, 19:38
[игнорируется]
Я про это не слышал даже )
Надо поискать.
Ща пожру и повтыкаю немного.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167096
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Транзакции конечно это хорошо, но чаще всего не нужно.
Транзакции требуют себе тугосери-пузатики, чтобы в их маня-мирке всё было без сюрпризов, потому что к сюрпризам они не готовы и в параллельность вселенной не умеют.
Ебаные формоёбы готовы работать только если кто-то другой подумает за них как обеспечить консистентность множества данных.
Они хотят транзакции, потому что не знают что делать, если их поток исполнения не монопольно смотрит на замороженную версию всех данных.
Транзакции создают им эту иллюзию, но цена - пиздец.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167098
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне достаточно у key=value базы операции compare-and-swap и я могу на этом реализовать любую банковскую надёжную логику.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167102
kkk-jjj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
letrovada  28.09.2022, 19:48
[игнорируется]
Мудило  28.09.2022, 19:24
[игнорируется]
letrovada  28.09.2022, 19:18
[игнорируется]
Нормальный процедурно/ООП-ный код в виде программы "сверху вниз" куда проще, чем декларативный хранимочный узкоспециализированный.
ога а целостность транзакционность чем поддерживать бушь ? данные наебнуцо и их никто не соберет никогда или транзакция ушла в никуда и не откатилась , и чо?

супт не просто таг придуманы и юзаются, нахуй ваши стебельки
Я умею надёжно переводить бабло со счёта А на счёт Б, если А и Б - это два разных не свзяанных компа с дешёвыми MySQL.
Почему я должен обосраться и в вашем случае?
Обслуживание счёта будет дорогим, если под счёт комп выделять. Это только для американских банков подходит.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167106
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет [игнорируется] 

Вспомнил
generate_series
Но это только для числовых наборов и даты ещё можно.
А если данные других типов, то нужно процедурить, да.
...
Изменено: 28.09.2022, 20:16 - Горбатый ёж
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167110
kkk-jjj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плюс, думаю, что это бахвальство. Проблема таймаута не решена в двухфазном коммите. Ты отправил подтверждение, но получил ли его адресат или нет?
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167170
Кусь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
letrovada  28.09.2022, 19:51
[игнорируется]
Транзакции конечно это хорошо, но чаще всего не нужно.
Ты несёшь хуйню. Не обижайся.
...
Рейтинг: 1 / 0
Нравится: Мудило
Кто писал процедуры на постгрес?
    #167176
Труба Кролега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user: Кусь, дайте мне ссылку на чат кролега
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167230
letrovada
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кусь  28.09.2022, 21:39
[игнорируется]
letrovada  28.09.2022, 19:51
[игнорируется]
Транзакции конечно это хорошо, но чаще всего не нужно.
Ты несёшь хуйню. Не обижайся.
1. Ты обзываешься.
2. Ты приказываешь.

Какой-то ты хуёвенький.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #167269
Мудило
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
letrovada  28.09.2022, 19:52
[игнорируется]
Мне достаточно у key=value базы операции compare-and-swap и я могу на этом реализовать любую банковскую надёжную логику.
бугога.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #174574
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дгузья, есть 2 вопроса которые моск ебут мне в постгрес - динамический эскуэль. Может кто что подскажет? )))))

Вопрос 1:
параметризация динамического запроса.

mssql:
Код: SQL
1.
exec sp_executesql N'select * from tbl where name = @param1', N'@param1 varchar(50)', @param1 = @name
Знаю как сделать в MSSQL но чота бл не нашел как делать в postgres - обычную динамику херачу... а вот параметризированные вопросы чота не получается.

Вопрос 2:
вроде где то встречал, что можно выполнить динамический запрос для каждой строки, но не могу снова найти... В мсскл можно через курсор заебенить. А в постгрес можно без курсора? типа такой запрос:
Код: SQL
1.
2.
select 'drop table if exists ' || schemaname || '.' || tablename
from pg_catalog.pg_tables pt
Как дописать что бы не выводился селект и исполнялась каждая команда?
...
Изменено: 05.10.2022, 16:39 - Дед-Папыхтет
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #174581
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  05.10.2022, 16:38
[игнорируется]
Дгузья, есть 2 вопроса которые моск ебут мне в постгрес - динамический эскуэль. Может кто что подскажет? )))))

Вопрос 1:
параметризация динамического запроса.

mssql:
Код: SQL
1.
exec sp_executesql N'select * from tbl where name = @param1', N'@param1 varchar(50)', @param1 = @name
Знаю как сделать в MSSQL но чота бл не нашел как делать в postgres - обычную динамику херачу... а вот параметризированные вопросы чота не получается.

Вопрос 2:
вроде где то встречал, что можно выполнить динамический запрос для каждой строки, но не могу снова найти... В мсскл можно через курсор заебенить. А в постгрес можно без курсора? типа такой запрос:
Код: SQL
1.
2.
select 'drop table if exists ' || schemaname || '.' || tablename
from pg_catalog.pg_tables pt
Как дописать что бы не выводился селект и исполнялась каждая команда?
Со 2м вопросом нашел такое решение:
Код: SQL
1.
2.
3.
4.
5.
  for query in (
     select 'drop table if exists schm.asset_' || type_code || ' cascade'
       from schm.asset_types) loop
           execute query;
       end loop;
хуйсним оставлю пожалуй если лучше ничего не найду.

А 1й вопрос актуален...
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #174600
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  05.10.2022, 16:44
[игнорируется]
А 1й вопрос актуален...
https://postgrespro.ru/docs/postgrespro/9.5/ecpg-dynamic#ecpg-dynamic-input
...
Рейтинг: 1 / 0
Нравится: Дед-Папыхтет
Кто писал процедуры на постгрес?
    #174602
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет [игнорируется] 

В каком порядке передашь, в таком и подставятся.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #174605
Sparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkk-jjj  28.09.2022, 19:04
[игнорируется]
Всё-таки лучше на нормальном языке писать - с хвостовой рекурсией, инвариантами и распараллеливанием. В том же си++ придётся самому кражу работы в форк джойн пуле делать. Несложно, конечно. Но почему бы не взять скалу, например?
Кому она нужна, эта хвостовая рекурсия? Кроме академиков ?
За 45 лет програмизма и ни разу не просили.

Вообще в си есть библиотеки на любой вкус и цвет. Можно и функции из Фортрана дергать.
Можно окошки рисовать, можно из баз данных процедуры вызывать, можно запросы.

Там самое сложное самодисциплину блюсти и не извращаться. Как молодёж любит.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175094
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  05.10.2022, 17:19
[игнорируется]
Дед-Папыхтет  05.10.2022, 16:44
[игнорируется]
А 1й вопрос актуален...
https://postgrespro.ru/docs/postgrespro/9.5/ecpg-dynamic#ecpg-dynamic-input
Всё, разобрался. в общем пока мне нужно знать это (ну и пока этого достаточно для текущей задачи):
Код: 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.
25.
26.
27.
28.
29.
DO $$
DECLARE
  tables text[] = ARRAY['schm.asset_types','schm.assets'];
  table_name text;
  rec record;
  tc varchar(10);
  query varchar(500);
begin
    tc := 's';
    FOREACH table_name IN ARRAY tables
    loop
        raise notice '------- non params';
        raise notice 'table = %', table_name;
        query := 'SELECT * FROM '||table_name||' WHERE type_code like ''%'||tc||'%'' LIMIT 10';
        raise notice 'query: %', query;
        FOR rec IN EXECUTE (query)
        LOOP
            RAISE NOTICE '%', rec;
        END LOOP;

        raise notice '------- parametized';
        query := 'SELECT * FROM '||table_name||' WHERE type_code like ''%''||$1||''%'' LIMIT 10';
        raise notice 'query: %', query;
        FOR rec IN EXECUTE (query) using tc
        LOOP
            RAISE NOTICE '%', rec;
        END LOOP;
    END LOOP;
END; $$
Ну... и конечно в постгрес конструкций всяких синтаксических побольше чем в мсскл... массивы всякие разные циклы (в мс только while и if .. goto - его конечно достаточно, но...)
...
Рейтинг: 1 / 0
Нравится: Горбатый ёж
Кто писал процедуры на постгрес?
    #175097
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и сцуко... после SSMS кажется убого немного всякие dbeaver, про pgadmin вообще молчу - снёс его нахуй из за автоподстановок - текст колотить вообще невозможно - после каждого слова нажимать ESC!!! забыл нажать - хуякс автоподставил другую команду )
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175106
Ханурик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  06.10.2022, 13:40
[игнорируется]
про pgadmin вообще молчу - снёс его нахуй из за автоподстановок - текст колотить вообще невозможно - после каждого слова нажимать ESC!!! забыл нажать - хуякс автоподставил другую команду )
А какой версии у тебя pgadmin? У меня в более старых версиях 3 и 4 такого не наблюдается - автоподстановка вызывается только если специально нажать ctrl+пробел.
Если в более старших версиях автоподстановка работет по умолчанию - наверняка где-то есть настройка, чтобы ее отключить нах.

Кстати, я предпочитаю даже более старый pgadmin3 и по возможности использую его, хотя он даже не все фичи поддерживает - ибо он сделан в виде удобного десктопного приложения, а более старшие версии сделаны в виде извращенского веб-приложения. Единственный недостаток, который иногда мешает работать - это то, что там в некоторых местах для копирования текста поддерживается только Ctrl+C, но не поддерживается более привычное мне Ctrl+Ins
...
Изменено: 06.10.2022, 13:56 - Ханурик
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175110
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ханурик  06.10.2022, 13:52
[игнорируется]
Дед-Папыхтет  06.10.2022, 13:40
[игнорируется]
про pgadmin вообще молчу - снёс его нахуй из за автоподстановок - текст колотить вообще невозможно - после каждого слова нажимать ESC!!! забыл нажать - хуякс автоподставил другую команду )
А какой версии у тебя pgadmin? У меня в более старых версиях 3 и 4 такого не наблюдается - автоподстановка вызывается только если специально нажать ctrl+esc.
Если в более старших версиях автоподстановка работет по умолчанию - наверняка где-то есть настройка, чтобы ее отключить нах.

Кстати, я предпочитаю даже более старый pgadmin3 и по возможности использую его, хотя он даже не все фичи поддерживает - ибо он сделан в виде удобного десктопного приложения, а более старшие версии сделаны в виде извращенского веб-приложения. Единственный недостаток, который иногда мешает работать - это то, что там в некоторых местах для копирования текста поддерживается только Ctrl+C, но не поддерживается более привычное мне Ctrl+Ins
pgadmin4 юзал через веб... когда то давно вроде юзал 3й, но наверное древность эдакая... Многие знакомые DBEaver юзают, в принципе неплохой клиент - в виде приложения, есть бесплатная версия, есть платная. В платной можно планы запросов в виде кубиков со стрелками графически смотреть, в бесплатной только текст. Ну это скорее придирки, с мсскл привык на схему плана графическую смотреть. Ну и понятно, что комбинации клавишь нихера не привычные - ну наверное привыкнуть можно - вопрос времени. Ну и плюс DBEaver - там хоть mssql хоть postgres - единый клиент для дохуя СУБД разных... в этом есть некий смысл, ну и клиенты есть под win, linux, macos
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175121
Ханурик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  06.10.2022, 13:56
[игнорируется]
Многие знакомые DBEaver юзают, в принципе неплохой клиент - в виде приложения, есть бесплатная версия, есть платная. В платной можно планы запросов в виде кубиков со стрелками графически смотреть, в бесплатной только текст.
Кстати, в pgadmin 3 тоже из коробки можно строить графические планы запросов в виде кубиков со стрелками. И в pgadmin 4 тоже можно, но там они почему-то значительно более убогие.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175205
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  06.10.2022, 13:40
[игнорируется]
про pgadmin вообще молчу
Да, штука конечно ебанистическая.
Я датагрипом пользовался, он как продукт очень неплох.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175208
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  06.10.2022, 16:09
[игнорируется]
Дед-Папыхтет  06.10.2022, 13:40
[игнорируется]
про pgadmin вообще молчу
Да, штука конечно ебанистическая.
Я датагрипом пользовался, он как продукт очень неплох.
платный... не хочется из своих платить, хоть втб и закупило jetbrains лицух на idea, но ща уже вряд ли что купит )
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175210
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  06.10.2022, 13:56
[игнорируется]
плюс DBEaver - там хоть mssql хоть postgres - единый клиент для дохуя СУБД разных... в этом есть некий смысл, ну и клиенты есть под win, linux, macos
датагрип то же самое, только от jetbrains.
В этом есть и минусы.
Дед-Папыхтет  06.10.2022, 13:56
[игнорируется]
с мсскл привык на схему плана графическую смотреть
Мне привычнее текстовый вид после оракла, так что тут каждому своё.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175213
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  06.10.2022, 16:11
[игнорируется]
платный...
Это да...
Нет комьюнити эдишн, жаль.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175214
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  06.10.2022, 16:12
[игнорируется]
Дед-Папыхтет  06.10.2022, 16:11
[игнорируется]
платный...
Это да...
Нет комьюнити эдишн, жаль.
на рутрекере качаю с кряком, попробую ща поставить если взлетит - збсь
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175226
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  06.10.2022, 16:13
[игнорируется]
Горбатый ёж  06.10.2022, 16:12
[игнорируется]
Дед-Папыхтет  06.10.2022, 16:11
[игнорируется]
платный...
Это да...
Нет комьюнити эдишн, жаль.
на рутрекере качаю с кряком, попробую ща поставить если взлетит - збсь
Ну... норм взлетело
datagrip.png
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175237
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет [игнорируется] 

Старенькая.
А у вас там ПРО или нет?
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175239
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  06.10.2022, 16:50
[игнорируется]
Дед-Папыхтет [игнорируется] 

Старенькая.
А у вас там ПРО или нет?
не обычный в докере какая то версия ))))))
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #175240
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, может кому пригодиться - что бы на рутрекер не лезть - сохранил на диск себе, пока удалять не собираюсь: https://disk.yandex.ru/d/SbA0neQb_Bo31w
...
Рейтинг: 1 / 0
Нравится: Ифрит
Кто писал процедуры на постгрес?
    #175497
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  06.10.2022, 16:54
[игнорируется]
не обычный
Надеюсь в продакшен про пустят.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #176051
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щас ябусь не понимаю как сделать корректно секционирование... без наследования.

Простая таблица определил 2 секции - DDL - скрипт выполняется норм:
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
drop table if exists part_test;
create table if not exists part_test
(
    num int not null,
    primary key (num)
) partition by range(num);

create table part_test_01 partition of part_test for values from (1) to (2) tablespace pg_default;
create table part_test_02 partition of part_test for values from (2) to (3) tablespace pg_default;
Бл и не дает вставлять ни одну из DML команд:
Код: SQL
1.
2.
3.
insert part_test (num) values (2);
insert part_test_01 (num) values (2);
insert part_test_02 (num) values (2);
Я что то не доопределил? Чо бл постгресу надо? ))))
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #176060
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет [игнорируется] 

А что пишет?
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #176062
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  07.10.2022, 14:10
[игнорируется]
Дед-Папыхтет [игнорируется] 

А что пишет?
Блят... тупая ошибка. - нужно insert into писать, я просто insert....

сцуко )))))))))) в мс это не обязательное слово into я хуй забиваю его писать
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #176063
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  07.10.2022, 14:12
[игнорируется]
нужно insert into писать
Точно.
Я что-то даже и не заметил...
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #176065
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет [игнорируется] 

Кстати, как тебе сообщения об ошибках посгресовские?
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #176066
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  07.10.2022, 14:14
[игнорируется]
Дед-Папыхтет [игнорируется] 

Кстати, как тебе сообщения об ошибках посгресовские?
Ну... нихуя особо не понял сначала в чем ошибка, но ошибку пишет syntax error ))))
ошибка.png
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #176069
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет [игнорируется] 

Я вообще, а не конкретно в данном случае.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #176084
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  07.10.2022, 14:17
[игнорируется]
Дед-Папыхтет [игнорируется] 

Я вообще, а не конкретно в данном случае.
Ну также херня что и в МС плюс минус. В оракл ебаныетошибки - эррор и номер без текста )
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #176099
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет [игнорируется] 

А обработку ошибок делаешь уже или пока хуйзабил?
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #176103
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  07.10.2022, 14:31
[игнорируется]
Дед-Папыхтет [игнорируется] 

А обработку ошибок делаешь уже или пока хуйзабил?
Пока нет ))))
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #176104
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я пока не прод код пишу - тесты разные
...
Рейтинг: 1 / 0
Нравится: Горбатый ёж
Кто писал процедуры на постгрес?
    #176110
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
Дед-Папыхтет  07.10.2022, 14:15
[игнорируется]
Горбатый ёж  07.10.2022, 14:14
[игнорируется]
Дед-Папыхтет [игнорируется] 

Кстати, как тебе сообщения об ошибках посгресовские?
Ну... нихуя особо не понял сначала в чем ошибка, но ошибку пишет syntax error ))))
ошибка.png
строкой ниже нет точки с запятой?
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #176129
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose  07.10.2022, 14:46
[игнорируется]
Дед-Папыхтет  07.10.2022, 14:15
[игнорируется]
Горбатый ёж  07.10.2022, 14:14
[игнорируется]
Дед-Папыхтет [игнорируется] 

Кстати, как тебе сообщения об ошибках посгресовские?
Ну... нихуя особо не понял сначала в чем ошибка, но ошибку пишет syntax error ))))
ошибка.png
строкой ниже нет точки с запятой?
Не я по команде выделяю и выполняю. там проблема в insert tbl, а надо бл было insert into tbl )))
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #187096
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А есть возможность при создании таблицы объявить тип поля как тип поля другой таблицы?

Ну типа так не даёт....
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
create table main
(
    id int primary key
)
create table slave
(
    id int primary key,
    main_id main.id%type;
)
Переменные в функциях так можно объявлять а вот в таблицах... хз )
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #187110
Кусь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  17.10.2022, 10:19
[игнорируется]
А есть возможность при создании таблицы объявить тип поля как тип поля другой таблицы?

Ну типа так не даёт....
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
create table main
(
    id int primary key
)
create table slave
(
    id int primary key,
    main_id main.id%type;
)
Переменные в функциях так можно объявлять а вот в таблицах... хз )
Для таблиц вряд ли. Попробуй создать updatable view на таблице и повесить на неё(на view) INSTEAD OF триггеры.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #187146
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  17.10.2022, 10:19
[игнорируется]
А есть возможность при создании таблицы объявить тип поля как тип поля другой таблицы?
Нет.
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #187231
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горбатый ёж  17.10.2022, 10:45
[игнорируется]
Дед-Папыхтет  17.10.2022, 10:19
[игнорируется]
А есть возможность при создании таблицы объявить тип поля как тип поля другой таблицы?
Нет.
ну ок... пичалька ну ладна
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #187516
a.v.z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
через домены можно, хотя это не совсем то
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create domain my_int;
create table main
(
    id my_int primary key
);
create table slave
(
    id int primary key,
    main_id my_int;
)
...
Изменено: 17.10.2022, 14:09 - a.v.z
Рейтинг: 1 / 0
Нравится: Горбатый ёж
Кто писал процедуры на постгрес?
    #187534
Горбатый ёж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  17.10.2022, 11:43
[игнорируется]
Горбатый ёж  17.10.2022, 10:45
[игнорируется]
Дед-Папыхтет  17.10.2022, 10:19
[игнорируется]
А есть возможность при создании таблицы объявить тип поля как тип поля другой таблицы?
Нет.
ну ок... пичалька ну ладна
Это вполне логичное ограничение.
Если так дать возможность писать, то нужно реализовывать наследование типов. Задача не то чтобы сложная, на мой взгляд, но уж больно муторная и при этом может вызвать множество проблем. А стоит ли оно того?
...
Рейтинг: 0 / 0
Кто писал процедуры на постгрес?
    #274707
Администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Администратор
Тема была перенесена из форума 'Просто Трёп'.
...
Администратор:
Тема была перенесена из форума 'Просто Трёп'.
Рейтинг: 0 / 0
102 сообщений из 102, показаны все 5 страниц
Форумы / PostgreSQL [закрыт для гостей] / Кто писал процедуры на постгрес?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Игнорируют тему (1): erbol
Читали форум (1): Анонимы (1)
Пользователи онлайн (27): Анонимы (23), Yandex Bot, zzdima 1 мин., Bing Bot 2 мин., Tosh 3 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]