r1653: More field-type updates
[clsql.git] / interfaces / postgresql / postgresql-sql.cl
index 6dedf46fa2a02f06fb074d30f9f50881c780289d..a1dfdd7081f863c60625ac4adf7226ad68568161 100644 (file)
@@ -8,7 +8,7 @@
 ;;;;                Original code by Pierre R. Mai 
 ;;;; Date Started:  Feb 2002
 ;;;;
-;;;; $Id: postgresql-sql.cl,v 1.3 2002/03/24 18:08:27 kevin Exp $
+;;;; $Id: postgresql-sql.cl,v 1.6 2002/03/24 22:25:51 kevin Exp $
 ;;;;
 ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;; and Copyright (c) 1999-2001 by Pierre R. Mai
                      (loop for i from 0 below (PQnfields result)
                          collect
                            (if (zerop (PQgetisnull result tuple-index i))
-                               (uffi:convert-from-cstring
+                               (uffi:convert-from-foreign-string
                                 (PQgetvalue result tuple-index i))
                              nil))))
               (t
                               (PQresultErrorMessage result)))))
           (PQclear result))))))
 
-(defstruct postgresql-result-sset
+(defstruct postgresql-result-set
   (res-ptr (uffi:make-null-pointer 'pgsql-result) 
           :type pgsql-result-def)
-  (field-types nil :type cons
+  (field-types nil) 
   (num-tuples 0 :type integer)
   (num-fields 0 :type integer)
   (tuple-index 0 :type integer))
                (values (make-postgresql-result-set
                         :res-ptr result
                         :num-fields (PQnfields result)
-                        :num-tuples (PQntuples result))
+                        :num-tuples (PQntuples result)
+                       :field-types field-types)
                        (PQnfields result)
                        (PQntuples result))
             (values (make-postgresql-result-set
                      :res-ptr result
                      :num-fields (PQnfields result)
-                     :num-tuples (PQntuples result))
+                     :num-tuples (PQntuples result)
+                     :field-types field-types)
                     (PQnfields result))))
           (t
            (unwind-protect
           do
             (setf (car rest)
               (if (zerop (PQgetisnull result tuple-index i))
-                  (uffi:convert-from-cstring 
+                  (uffi:convert-from-foreign-string 
                    (PQgetvalue result tuple-index i))
                 nil))
           finally