pgsql: Полиморфные типы

Jan 23, 2010 00:11

Маленький спотыкач для желающих использовать полиморфные типы, такие как anyarray. Допустим, есть функция:

CREATE OR REPLACE FUNCTION array_func(anyarray, anyarray) RETURNS anyarray as $$
begin
if $1 is null then
return $2;
end if;
....
end;
$$ language plpgsql;

При вызове:

select array_intersection(null, null);

будет кака типа: ERROR: could not determine polymorphic type because input has type "unknown"
что вполне объяснимо. надо так:

select array_intersection(null, null::integer[]);

т.е. если буквально: "ПЕЙТЕ МОРКОВНЫЙ СОК" (с)

pgsql

Previous post Next post
Up