From emarsden at common-lisp.net Sat Dec 16 13:24:10 2006 From: emarsden at common-lisp.net (emarsden) Date: Sat, 16 Dec 2006 08:24:10 -0500 (EST) Subject: [pg-cvs] CVS pg Message-ID: <20061216132410.25FCD3E054@common-lisp.net> Update of /project/pg/cvsroot/pg In directory clnet:/tmp/cvs-serv31715 Modified Files: parsers.lisp Log Message: Fix numeric parser for negative numbers. From levente.meszaros at gmail.com --- /project/pg/cvsroot/pg/parsers.lisp 2006/10/22 19:29:47 1.9 +++ /project/pg/cvsroot/pg/parsers.lisp 2006/12/16 13:24:09 1.10 @@ -133,7 +133,9 @@ (when (> dec-str-len 0) ;; parse integer after #\. and divide by 10^(digits), i.e. ".023" => 23/1000 (setq decimal-part (/ (parse-integer decimal-str) (expt 10 dec-str-len)))))) - (+ integer-part decimal-part))) + (if (eq #\- (elt str 0)) + (- integer-part decimal-part) + (+ integer-part decimal-part)))) ;; FIXME switch to a specialized float parser that conses less (defun float-parser (str) From emarsden at common-lisp.net Sat Dec 16 13:29:29 2006 From: emarsden at common-lisp.net (emarsden) Date: Sat, 16 Dec 2006 08:29:29 -0500 (EST) Subject: [pg-cvs] CVS pg Message-ID: <20061216132929.5557A3E054@common-lisp.net> Update of /project/pg/cvsroot/pg In directory clnet:/tmp/cvs-serv32279 Modified Files: v3-protocol.lisp Log Message: Don't flush the network stream in SEND-PACKET, because it slows down API calls that have multiple SEND-PACKET calls in them. From attila.lendvai at gmail.com. --- /project/pg/cvsroot/pg/v3-protocol.lisp 2006/11/26 18:05:11 1.30 +++ /project/pg/cvsroot/pg/v3-protocol.lisp 2006/12/16 13:29:28 1.31 @@ -375,9 +375,8 @@ (incf position (length value))))) (%send-net-int stream (char-code code) 1) - (%send-net-int stream length 4 ) - (write-sequence data stream) - (%flush connection))) + (%send-net-int stream length 4) + (write-sequence data stream))) (defun pg-connect/v3 (dbname user &key (host "localhost") (port 5432) (password "") (encoding *pg-client-encoding*)) @@ -540,7 +539,8 @@ (t (warn "We had to provide data, but my sql-stream isn't an input-stream. Aborting transfer") ;; CopyFail - (send-packet connection #\f '((:cstring "No input data provided")))))) + (send-packet connection #\f '((:cstring "No input data provided"))) + (%flush connection)))) ((#\H) ;; CopyOutResponse