Update of /project/pg/cvsroot/pg In directory common-lisp.net:/tmp/cvs-serv23077
Modified Files: v3-protocol.lisp Log Message:
A provisional fix for large object support: the test case (whose large-object component only runs on CMUCL) was resetting the connection during the IMPORT/EXPORT test, due to an unexpected #\V packet (FunctionCallResponse) in DO-FOLLOWUP-QUERY. It's still not clear why a FunctionCallResponse should be received anywhere other than in FN. This test is currently failing due to CR -> "\012" corruption that I haven't debugged.
Date: Wed Apr 21 15:27:47 2004 Author: emarsden
Index: pg/v3-protocol.lisp diff -u pg/v3-protocol.lisp:1.9 pg/v3-protocol.lisp:1.10 --- pg/v3-protocol.lisp:1.9 Thu Apr 1 13:35:19 2004 +++ pg/v3-protocol.lisp Wed Apr 21 15:27:46 2004 @@ -579,8 +579,14 @@ ;; PortalSuspend ;; we're done in any case: (return result)) - ((#\2 - ;; BindComplete + ((#\V) + ;; FunctionCallResponse -- not clear why we would get these here instead of in FN + (let* ((length (read-from-packet packet :int32)) + (response (unless (= length -1) + (read-string-from-packet packet length)))) + (setf (pgresult-status result) response))) + ((#\2 + ;; BindComplete #\1 ;; ParseComplete #\3 @@ -709,7 +715,7 @@ :for packet = (read-packet connection) :do (case (pg-packet-type packet) - ((#\V) + ((#\V) ; FunctionCallResponse (let* ((length (read-from-packet packet :int32)) (data (unless (= length -1) (if integer-result