pgsql: I have attached 5 patches (split up for ease of review) to

From: momjian(at)svr1(dot)postgresql(dot)org (Bruce Momjian)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: I have attached 5 patches (split up for ease of review) to
Date: 2004-10-15 17:08:27
Message-ID: 20041015170827.A78D132C07A@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
I have attached 5 patches (split up for ease of review) to plperl.c.

1. Two minor cleanups:

- We don't need to call hv_exists+hv_fetch; we should just check the
return value of hv_fetch.
- newSVpv("undef",0) is the string "undef", not a real undef.

2. This should fix the bug Andrew Dunstan described in a recent -hackers
post. It replaces three bogus "eval_pv(key, 0)" calls with newSVpv,
and eliminates another redundant hv_exists+hv_fetch pair.

3. plperl_build_tuple_argument builds up a string of Perl code to create
a hash representing the tuple. This patch creates the hash directly.

4. Another minor cleanup: replace a couple of av_store()s with av_push.

5. Analogous to #3 for plperl_trigger_build_args. This patch removes the
static sv_add_tuple_value function, which does much the same as two
other utility functions defined later, and merges the functionality
into plperl_hash_from_tuple.

I have tested the patches to the best of my limited ability, but I would
appreciate it very much if someone else could review and test them too.

(Thanks to Andrew and David Fetter for their help with some testing.)

Abhijit Menon-Sen

Modified Files:
--------------
pgsql/src/pl/plperl:
plperl.c (r1.54 -> r1.55)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plperl.c.diff?r1=1.54&r2=1.55)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2004-10-15 17:10:58 pgsql: The previous build rules caused each binary to be re-linked on
Previous Message Bruce Momjian 2004-10-15 16:51:50 pgsql: This patch clarifies the usage of references in PL/Perl :) David