I isolated my problem a little bit:
CREATE FUNCTION get_array() RETURNS integer[] AS
$BODY$
BEGIN
RAISE INFO 'get_array';
RETURN ARRAY[1, 2];
END
$BODY$ LANGUAGE 'plpgsql' STABLE;
And now
SELECT * FROM generate_series(1,3) a(b) where array[b] <@ core.get_array();
gives me:
INFO: get_array
INFO: get_array
INFO: get_array
b
---
1
2
(2 rows)
Why?? Wlli functions which returns an array not be cached?
Regards,
Gerhard