X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=db-postgresql%2Fpostgresql-sql.lisp;h=6a8c7c83290c6852deff730f229e432e4b9661d8;hp=16d5d2fc94a15adeff80016f7abbed465b9d0465;hb=d9f41af62750c622945bb17b622a39689ee5b840;hpb=44cd3f817f6f59ffe495db4cf2b9ea4637a57f75 diff --git a/db-postgresql/postgresql-sql.lisp b/db-postgresql/postgresql-sql.lisp index 16d5d2f..6a8c7c8 100644 --- a/db-postgresql/postgresql-sql.lisp +++ b/db-postgresql/postgresql-sql.lisp @@ -165,21 +165,22 @@ nil) (#.pgsql-exec-status-type#tuples-ok (let ((num-fields (PQnfields result))) - (setq result-types - (canonicalize-types result-types num-fields - result)) - (values - (loop for tuple-index from 0 below (PQntuples result) - collect - (loop for i from 0 below num-fields - collect - (if (zerop (PQgetisnull result tuple-index i)) - (convert-raw-field - (PQgetvalue result tuple-index i) - result-types i) - nil))) - (when field-names - (result-field-names num-fields result))))) + (when result-types + (setq result-types + (canonicalize-types result-types num-fields + result))) + (let ((res (loop for tuple-index from 0 below (PQntuples result) + collect + (loop for i from 0 below num-fields + collect + (if (zerop (PQgetisnull result tuple-index i)) + (convert-raw-field + (PQgetvalue result tuple-index i) + result-types i) + nil))))) + (if field-names + (values res (result-field-names num-fields result)) + res)))) (t (error 'sql-database-data-error :database database @@ -427,7 +428,8 @@ (coerce-string user) (let ((connection (PQsetdbLogin host port options tty db user password))) (declare (type postgresql::pgsql-conn-ptr connection)) - (unless (eq (PQstatus connection) :connection-ok) + (unless (eq (PQstatus connection) + pgsql-conn-status-type#connection-ok) ;; Connect failed (error 'sql-connection-error :database-type :postgresql