Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
25.06.2018, 18:12
|
|||
---|---|---|---|
|
|||
Передача в функцию массивов кастомных типов. |
|||
#18+
Есть следующие типы: CREATE TYPE _goods_item AS (goods_id bigint, point_id bigint, quantity integer, volume integer, is_perishable boolean); CREATE TYPE _distance_item AS (point_id bigint, distance integer); CREATE TYPE _point_item AS (point_id bigint, point_type bigint, distances _distance_item[]); Есть функция: CREATE OR REPLACE FUNCTION _generate( goods_item _goods_item[], point_item _point_item[] ) RETURNS SETOF integer AS '$pg', '_generate' LANGUAGE C STRICT STABLE; Как ее правильно вызвать? Для CREATE OR REPLACE FUNCTION _generate2( goods_item libc_goods_item[], point_item libc_distance_item[] ) RETURNS SETOF integer AS 'pg', '_generate2' LANGUAGE C STRICT STABLE; Вызов выглядит как: select _generate2('{"(1,3,3,9,false)", "(10,30,30,90,false)"}'::libc_goods_item[], '{"(22,332)", "(243,24323)", "(243,24323)"}'::libc_distance_item[]); ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.06.2018, 18:33
|
|||
---|---|---|---|
|
|||
Передача в функцию массивов кастомных типов. |
|||
#18+
select f_sys_collects_generate('{"(1,3,3,9,false)", "(10,30,30,90,false)"}'::libc_goods_item[], '{"(22, 334, ARRAY[332,2])", "(243, 33, ARRAY[24323,22])"}'::libc_point_item[]); ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.06.2018, 01:21
|
|||
---|---|---|---|
|
|||
Передача в функцию массивов кастомных типов. |
|||
#18+
Сам спросил - сам отвечаю: Переделал на array[] стало нагляднее и заработало: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&tablet=1&tid=1995706]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
31ms |
get tp. blocked users: |
2ms |
others: | 295ms |
total: | 397ms |
0 / 0 |