[pg-cvs] CVS update: pg/v3-protocol.lisp
Eric Marsden
emarsden at common-lisp.net
Wed Apr 21 19:27:47 UTC 2004
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
More information about the Pg-cvs
mailing list