From: | "Davor J(dot)" <DavorJ(at)live(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Function that creates a custom (temporary) table AND returns a pointer to it = impossible in pg? |
Date: | 2010-02-11 18:45:36 |
Message-ID: | hl1j88$18ju$1@news.hub.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
The impossibility of a function as a pointer seems clear to me: if it was
possible, it would switch off the planner. But it should not be the case.
For example: the planner could postpone planning if it detected a function
that returns a set, execute it and wait for the results, and then use the
results for planning of the outer query. This would imply a layered query
planning/execution.
I think this approach would seriously extend the possibilities of pg in a
rather "object-oriented" way. Or am I wrong?
Regards,
Davor
"Davor J." <DavorJ(at)live(dot)com> wrote in message
news:hl1170$29jn$1(at)news(dot)hub(dot)org(dot)(dot)(dot)
> What I want is something similar to this:
>
> CREATE OR REPLACE FUNCTION f( /* "some args..." */)
> RETURNS text AS
> $BODY$
> DECLARE
> ...
> BEGIN
> DROP TABLE IF EXISTS tbl_temp;
>
> CREATE TEMPORARY TABLE tbl_temp(
> -- "based on args..."
> );
>
> WHILE
> INSERT INTO tbl_temp VALUES (/*"some values"*/);
> END LOOP;
>
> /*create indexes on it, manipulate, whatever...*/
>
> RETURN 'tbl_temp'::text;
>
> END;
> $BODY$
> LANGUAGE 'plpgsql'
>
> Basically, what I want is a similar function f() that returns me a
> "pointer" to the table which I can use in some query like this: SELECT *
> FROM regclass(f()); Currently, this query only gives me one row
> 'tbl_temp'..., but not what I want: "SELECT * FROM tbl_temp;" Can this be
> done in Postgres?
>
> Original post:
> http://forums.devshed.com/postgresql-help-21/function-that-creates-a-custom-table-and-returns-a-pointer-675539.html
>
> Kind regards,
> Davor
>
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Ross | 2010-02-11 18:56:29 | Re: Memory Usage and OpenBSD |
Previous Message | Davor J. | 2010-02-11 18:39:27 | Re: Function that creates a custom table AND returns it = impossible in pg? |