PostgreSQL 8.3.7 running on FreeBSD.
The following query:
update tblksalerts
set cleartime = x_cleartime,
laststatusid = x_statusid,
lastreplytext = x_replytxt,
lasttesttime = x_testtime,
lasteventsource = x_eventsource,
lasteventid = x_eventid,
replyval = x_replyval,
trend = mytrend,
alertoccurrence = testcount
where ksalertssysid = alertsrecord.ksalertssysid;
being issued via a pl/pgsql stored procedure is being translated by the backend as follows:
update tblksalerts set cleartime = '2009-07-29 10:49:50'::TIMESTAMP, laststatusid = 7::INTEGER, lastreplytext = '0'::VARCHAR, lasttesttime = '2009-07-29 10:49:50'::TIMESTAMP, lasteventsource is NULL::VARCHAR, lasteventid is NULL::INTEGER, replyval = 0::REAL, trend = ''::varchar ( 1 ), alertoccurrence = 0::integer where ksalertssysid = 1737078
and is generating a syntax error: syntax error at or near "is" at character 192
Please note the “lasteventsource is null” instead of “lasteventsource = null” which is being generated when the value of x_eventsource is null.
We have implemented a workaround by setting the value to a blank string, but I believe this is a problem nonetheless.