From: | Joe Conway <mail(at)joeconway(dot)com> |
---|---|
To: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
Cc: | pgsql-patches(at)postgresql(dot)org |
Subject: | Re: latest plperl |
Date: | 2004-07-01 05:56:06 |
Message-ID: | 40E3A776.8020203@joeconway.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
Andrew Dunstan wrote:
> The attached patch (and 2 new files incorporating previous eloglvl.[ch] as
> before) has the following changes over previously sent patch
> (fixes all by me):
Some comments below:
--------------------
In plperl_trigger_build_args(), this looks bogus:
+ char *tmp;
+
+ tmp = (char *) malloc(sizeof(int));
...
+ sprintf(tmp, "%d", tdata->tg_trigger->tgnargs);
+ sv_catpvf(rv, ", argc => %s", tmp);
...
+ free(tmp);
I changed it to:
+ sv_catpvf(rv, ", argc => %d", tdata->tg_trigger->tgnargs);
--------------------
In this section, it appears that empty strings in the tuple will be
coerced into NULL values:
+ plval = plperl_get_elem(hvNew, platt);
+ if (plval)
+ {
+ src = plval;
+ if (strlen(plval))
+ {
+ modvalues[j] = FunctionCall3(&finfo,
+ CStringGetDatum(src),
+ ObjectIdGetDatum(typelem),
+ Int32GetDatum(tupdesc->attrs[atti]->atttypmod));
+ modnulls[j] = ' ';
+ }
+ else
+ {
+ modvalues[i] = (Datum) 0;
+ modnulls[j] = 'n';
+ }
+ }
+ plval = NULL;
Shouldn't that look more like this?
+ plval = plperl_get_elem(hvNew, platt);
+ if (plval)
+ {
+ modvalues[j] = FunctionCall3(&finfo,
+ CStringGetDatum(plval),
+ ObjectIdGetDatum(typelem),
+ Int32GetDatum(tupdesc->attrs[atti]->atttypmod));
+ modnulls[j] = ' ';
+ }
+ else
+ {
+ modvalues[i] = (Datum) 0;
+ modnulls[j] = 'n';
+ }
Joe
From | Date | Subject | |
---|---|---|---|
Next Message | Claudio Natoli | 2004-07-01 07:39:51 | Re: [PATCH] s_lock support for win32 |
Previous Message | Joe Conway | 2004-07-01 05:25:27 | Re: compile warnings |