Thread: pgsql-server: The attached patch, which incorporates the previous one

pgsql-server: The attached patch, which incorporates the previous one

From
momjian@svr1.postgresql.org (Bruce Momjian)
Date:
Log Message:
-----------
The attached patch, which incorporates the previous one sent and
currently unapplied regarding spi_internal.c, makes some additional
fixes relating to return types, and also contains the fix for
preventing  the use of insecure versions of Safe.pm.

There is one remaing return case that does not appear to work, namely
return of a composite directly in a select, i.e. if  foo returns some
composite type, 'select * from foo()' works but 'select foo()' doesn't.
We will either fix that or document it as a limitation.

The function plperl_func_handler is a mess - I will try to get it
cleaned up (and split up) in a subsequent patch, time permitting.

Also, reiterating previous advice - this changes slightly the API for
spi_exec_query - the returned object has either 2 or 3 members: 'status'
(string) and 'proceesed' (int,- number of rows) and, if rows are
returned, 'rows' (array of tuple hashes).

Andrew Dunstan

Modified Files:
--------------
    pgsql-server/src/pl/plperl:
        plperl.c (r1.45 -> r1.46)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/pl/plperl/plperl.c.diff?r1=1.45&r2=1.46)
        spi_internal.c (r1.1 -> r1.2)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/pl/plperl/spi_internal.c.diff?r1=1.1&r2=1.2)
        spi_internal.h (r1.1 -> r1.2)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/pl/plperl/spi_internal.h.diff?r1=1.1&r2=1.2)