Planner question regarding functions - Mailing list pgsql-general

From Chris Travers
Subject Planner question regarding functions
Date
Msg-id 1070875419.29122.6.camel@localhost.localdomain
Whole thread Raw
Responses Re: Planner question regarding functions  (Bruno Wolff III <bruno@wolff.to>)
List pgsql-general
Hi all;

I suspect I know what the answer here is, but I thought I would ask
anyway.  How transparent are SQL language functions from the planner's
perspective?  For example if I create a table:

CREATE TABLE proof_of_concept(
    poc_id serial primary key,
    testing text
);
and a function:

CREATE FUNCTION search_poc() RETURNS setof proof_of_concept AS '
    SELECT * FROM proof_of_concept
' LANGUAGE SQL;

Then will the planner be able to use indexes if I do:
SELECT * FROM search_poc() WHERE poc_id = 16023

I am assuming it won't.  But can the planner "see inside" the SQL
language functions, thus expanding them similar to a view, or will this
force a sequential scan?

Best Wishes,
Chris Travers


pgsql-general by date:

Previous
From: "Ed L."
Date:
Subject: Re: corruption diag/recovery, pg_dump crash
Next
From: "Gellert, Andre"
Date:
Subject: Re: Where to find information about implementing full-t