We have two situations that have arisen while using libpq thru CMUCL
bindings in our UncommonSQL package. We have a multi-processing
application which uses a pool of database connections to perform DB
queries.
The first one is that we are getting unexpected retun values from
pgresultstatus after calling pgexec, a value of PGRES_TUPLES_OK. The
thing is that we're not sending a SELECT, just UPDATES, INSERTS and
DELETES. My understanding is that none of those return tuples.
Here is the message our interface spits out.
;; Warning, database-execute-command: Recieved tuples ok in response to UPDATE WCO_ALLOCATION SET CANCELLED_TIME =
'2001-01-12 16:50:10+00',DELETED_AGENT_ID = 0,PICKUP = 'f',RETURN_AGENT_ID = 7104,NON_EXPIRING = 'f',INSTRUCTIONS =
'',BUILDING_PASSES= 'NIL',ACCOMPANYING_PEOPLE = 'NIL',PICKUP_PEOPLE = 'NIL',COMMENTS = '',CREATED_TIME = '2001-01-12
16:50:50+00',REPEAT_RULE= 'NIL',END_TIME = '2001-01-16 17:48:00+00',START_TIME = '2001-01-12 16:50:50+00',AGENT_ID =
6761,CUSTOMER_ID= 3970,LOCATION_ID = 4,ALLOCATION_TYPE = 'COMPLETED-CHECKOUT',ALLOCATION_ID = 34166 WHERE
WCO_ALLOCATION.ALLOCATION_ID= 34166
So, is it possible for an UPDATE to correctly return PGRES_TUPLES_OK,
or are we seeing some confusion in the backend or libpq due to load
and multi-processing?
Also, unrelated, I think, to the above issue, we are getting the
following message intermittently:
Backend message type 0x50 arrived while idle
I cannot find any more information about this message in the
documentation, so I don't know what type of message that is.