As my last mail did not seem to go through here one more try ...
When looking at some fairly complex SQL stuff I came across some
interesting issue which is a bit surprising to me:
CREATE OR REPLACE FUNCTION xy() RETURNS SETOF record AS $$ SELECT relname::text, relpages::int4 FROM
pg_class;
$$ LANGUAGE SQL IMMUTABLE;
explain SELECT * FROM xy() AS (relname text, relpages int4);
hs@athlon64:/tmp$ psql test < check.sql
CREATE FUNCTION QUERY PLAN
------------------------------------------------------------
Function Scan on xy (cost=0.00..12.50 rows=1000 width=36)
(1 row)
As far as i remember inlined SQL code has been implemented into the
planner around 7.4.
This should also be true according to ...
http://conferences.oreillynet.com/cs/os2003/view/e_sess/4372
In my theory the function is inlined and therefore we should see
different costs here (the ones of the "real" query).
Does anybody happen to know more about this issue?
Many thanks,
hans
--
Cybertec Geschwinde & Schönig GmbH
Schöngrabern 134; A-2020 Hollabrunn
Tel: +43/1/205 10 35 / 340
www.postgresql.at, www.cybertec.at