On Oct 2, 2006, at 6:28 PM, Tom Lane wrote:
"Jim C. Nasby" <[EMAIL PROTECTED]> 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
not very desirable.
Hrm... is there any reasonable way to catch that?
The real issue here is that the bare NULL has type UNKNOWN and
making any effort to cast it. I'm not sure whether it'd work to
apply exec_cast_value --- that looks like it's only meant to handle
scalars, where in general you'd need something close to
Of course, setting a row variable to null is a lot more useful if
actually test for it after the fact, and I'm not really sure how
Doesn't IS NULL work (as of CVS HEAD)?
Ahh, so it does. Doesn't work with RECORD, though... which seems a
bit surprising. I can't really think of a good reason why they should
ERROR: record "v_row" is not assigned yet
DETAIL: The tuple structure of a not-yet-assigned record is
CONTEXT: PL/pgSQL function "test" line 4 at return
Jim Nasby [EMAIL PROTECTED]
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?