Re: variadic function support - Mailing list pgsql-patches

From Simon Riggs
Subject Re: variadic function support
Date
Msg-id 1215162335.4051.42.camel@ebony.site
Whole thread Raw
In response to variadic function support  ("Pavel Stehule" <pavel.stehule@gmail.com>)
Responses Re: variadic function support  ("Pavel Stehule" <pavel.stehule@gmail.com>)
List pgsql-patches
On Mon, 2008-06-23 at 15:13 +0200, Pavel Stehule wrote:

> this patch enhance current syntax of CREATE FUNCTION statement. It
> allows creating functions with variable number of arguments. This
> version is different than last my patches. It doesn't need patching
> PL. Basic idea is transformation of real arguments (related to
> declared variadic argument) to array. All changes are mostly in
> parser.

Something for the TODO.

An added thought with regard to variadic functions:

when we have them, we should be able to parse/transform repeated
operator sequences into a call to a variadic function, if it exists.

e.g. w || x || y || z can be transformed into a call to
concat_variadic(w, x, y, z)

This can then be made to perform better than

concat(concat(concat(w, x), y), z)

which would involve lots of wasted memory copies.

--
 Simon Riggs           www.2ndQuadrant.com
 PostgreSQL Training, Services and Support


pgsql-patches by date:

Previous
From: "Pavan Deolasee"
Date:
Subject: Re: page macros cleanup
Next
From: Simon Riggs
Date:
Subject: Re: Relation forks & FSM rewrite patches