refreshed table function support

Lists: pgsql-patches
From: "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com>
To: pgsql-patches(at)postgresql(dot)org
Cc: "Neil Conway" <neilc(at)samurai(dot)com>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: refreshed table function support
Date: 2007-05-06 16:53:03
Message-ID: 162867790705060953w4ee642ccoc6925b48f7fc6347@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-patches

Hello

This patch contains implementation of table functions defined in ANSI
SQL 2003 (Conformance with SQL2003: T326 Table functions). Patch adds
new proargmode PROARGMODE_TABLE (based on PROARGMODE_OUT). Columns of
output table are similar OUT arguments, but don't generate any
variables.

Proposal: http://archives.postgresql.org/pgsql-hackers/2007-02/msg00318.php
Description: SIGMOD Record, Vol. 33, No. 1, March 2004

Patch contains three diffs:
* pgdumpclean .. small readability fix for pg_dump.c
* tabfce .. implementation of table functions
* plpgsql-tabfce .. table expression support for plpgsql's return stmt

This patch can broke applications which scan argmodes. Plpgsql support
is separated because plpgsql implementation isn't standardised. But
current plpgsql hasn't any method for one statement table output from
function, and table expression is clean and simple tool for it.

Older version was broken by enum patch and scrollable cursor patch.
Older version didn't dump table functions correctly. It's fixed now.

Regards
Pavel Stehule

Attachment Content-Type Size
pgdumpclean.diff text/x-patch 636 bytes
tabfce.diff text/x-patch 23.2 KB
plpgsql-tabfce.diff text/x-patch 12.0 KB

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: pgsql-patches(at)postgresql(dot)org, Neil Conway <neilc(at)samurai(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: refreshed table function support
Date: 2007-05-06 16:59:31
Message-ID: 200705061659.l46GxVa11647@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-patches


Your patch has been added to the PostgreSQL unapplied patches list at:

http://momjian.postgresql.org/cgi-bin/pgpatches

It will be applied as soon as one of the PostgreSQL committers reviews
and approves it.

---------------------------------------------------------------------------

Pavel Stehule wrote:
> Hello
>
> This patch contains implementation of table functions defined in ANSI
> SQL 2003 (Conformance with SQL2003: T326 Table functions). Patch adds
> new proargmode PROARGMODE_TABLE (based on PROARGMODE_OUT). Columns of
> output table are similar OUT arguments, but don't generate any
> variables.
>
> Proposal: http://archives.postgresql.org/pgsql-hackers/2007-02/msg00318.php
> Description: SIGMOD Record, Vol. 33, No. 1, March 2004
>
> Patch contains three diffs:
> * pgdumpclean .. small readability fix for pg_dump.c
> * tabfce .. implementation of table functions
> * plpgsql-tabfce .. table expression support for plpgsql's return stmt
>
> This patch can broke applications which scan argmodes. Plpgsql support
> is separated because plpgsql implementation isn't standardised. But
> current plpgsql hasn't any method for one statement table output from
> function, and table expression is clean and simple tool for it.
>
> Older version was broken by enum patch and scrollable cursor patch.
> Older version didn't dump table functions correctly. It's fixed now.
>
> Regards
> Pavel Stehule

[ Attachment, skipping... ]

[ Attachment, skipping... ]

[ Attachment, skipping... ]

>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +