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