X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=db-postgresql%2Fpostgresql-sql.lisp;h=373d55ce9da2ca50dd143a7f0f8cab8da8e8c6e6;hb=5691bb90517d7c565a141d131da76c3de1f8d566;hp=c268b82eb2d9463ab15c77d0b79c88f7dff7a706;hpb=e2c86e8c664d8b3ecfd215843a9a1fbf5fa83693;p=clsql.git diff --git a/db-postgresql/postgresql-sql.lisp b/db-postgresql/postgresql-sql.lisp index c268b82..373d55c 100644 --- a/db-postgresql/postgresql-sql.lisp +++ b/db-postgresql/postgresql-sql.lisp @@ -141,7 +141,7 @@ (setf (database-conn-ptr database) nil) t) -(defmethod database-query (query-expression (database postgresql-database) types) +(defmethod database-query (query-expression (database postgresql-database) result-types) (let ((conn-ptr (database-conn-ptr database))) (declare (type pgsql-conn-def conn-ptr)) (uffi:with-cstring (query-native query-expression) @@ -158,8 +158,8 @@ nil) (#.pgsql-exec-status-type#tuples-ok (let ((num-fields (PQnfields result))) - (setq types - (canonicalize-types types num-fields + (setq result-types + (canonicalize-types result-types num-fields result)) (loop for tuple-index from 0 below (PQntuples result) collect @@ -168,7 +168,7 @@ (if (zerop (PQgetisnull result tuple-index i)) (convert-raw-field (PQgetvalue result tuple-index i) - types i) + result-types i) nil))))) (t (error 'clsql-sql-error @@ -216,8 +216,9 @@ (num-fields 0 :type integer) (tuple-index 0 :type integer)) -(defmethod database-query-result-set (query-expression (database postgresql-database) - &key full-set types) +(defmethod database-query-result-set ((query-expression string) + (database postgresql-database) + &key full-set result-types) (let ((conn-ptr (database-conn-ptr database))) (declare (type pgsql-conn-def conn-ptr)) (uffi:with-cstring (query-native query-expression) @@ -236,7 +237,7 @@ :num-fields (PQnfields result) :num-tuples (PQntuples result) :types (canonicalize-types - types + result-types (PQnfields result) result)))) (if full-set