From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Jim C(dot) Nasby" <jim(at)nasby(dot)net> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: NULL and plpgsql rows |
Date: | 2006-10-02 22:28:23 |
Message-ID: | 16154.1159828103@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Jim C. Nasby" <jim(at)nasby(dot)net> writes:
> However, the test right above that means that we'll fail if the user
> tries something like "row_variable := NULL;":
The patch you seem to have in mind would allow
row_variable := int_variable;
to succeed if the int_variable chanced to contain NULL, which is surely
not very desirable.
The real issue here is that the bare NULL has type UNKNOWN and we're not
making any effort to cast it. I'm not sure whether it'd work to simply
apply exec_cast_value --- that looks like it's only meant to handle
scalars, where in general you'd need something close to
ExecEvalConvertRowtype().
> Of course, setting a row variable to null is a lot more useful if we can
> actually test for it after the fact, and I'm not really sure how to make
> that happen.
Doesn't IS NULL work (as of CVS HEAD)?
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2006-10-02 22:29:31 | Re: Broken link in PG docs |
Previous Message | AgentM | 2006-10-02 22:22:39 | Re: timestamptz alias |