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