- (loop for tuple-index from 0 below (PQntuples result)
- collect
- (loop for i from 0 below (PQnfields result)
- collect
- (if (zerop (PQgetisnull result tuple-index i))
- (uffi:convert-from-foreign-string
- (PQgetvalue result tuple-index i))
- nil))))
+ (let ((num-fields (PQnfields result)))
+ (setq types
+ (canonicalize-types types num-fields
+ result))
+ (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)
+ types i)
+ nil)))))