I don't think so ignoring NULL in RAISE statement is good idea (it is not safe). We can replace NULL by some string (like "NULL") by default. I am thinking about other possibilities.
What I was trying to say is that if the argument to a USING option is NULL then RAISE should skip over it, as if it hadn't been applied at all. Similar to how the code currently tests for \0.
I understand, but I don't prefer this behave. The NULL is strange value and should be signalized.
1. some RAISE statement flag - but there was strong disagreement when I did it last time 2. some plpgsql GUC variables like plpgsq.raise_ignore_null 3. accept a function from this patch
Now, I am thinking so @3 is good option. It can be really useful as last rescue for other PL without possibility to raise rich PostgreSQL exception - currently PLPythonu, partially PLPerl (where are more issues), probably in others.
I agree, assuming the patch exposes all the stuff you can do with USING in plpgsql. -- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com