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. |