;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: aodbc-sql.cl,v 1.3 2002/03/24 18:08:27 kevin Exp $
+;;;; $Id: aodbc-sql.cl,v 1.4 2002/03/24 18:39:32 kevin Exp $
;;;;
;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
:query t
)
(values
- (make-aodbc-result-set :query query :full-set full-set)
+ (make-aodbc-result-set :query query :full-set full-set
+ :field-types field-types)
(length column-names)
nil ;; not able to return number of rows with aodbc
))
;;;; Original code by Pierre R. Mai
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: mysql-sql.cl,v 1.4 2002/03/24 18:08:27 kevin Exp $
+;;;; $Id: mysql-sql.cl,v 1.5 2002/03/24 18:39:32 kevin Exp $
;;;;
;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;; and Copyright (c) 1999-2001 by Pierre R. Mai
;;;; for MYSQL structure. This will make the code more robust in
;;;; the event that MySQL library changes the size of the mysql-mysql
;;;; structure.
+;;;;
+;;;; Mar 2002
+;;;; Added field types
(defpackage :clsql-mysql
(:use :common-lisp :clsql-sys :mysql)
-(defmethod database-query (query-expression (database mysql-database) field-types)
+(defmethod database-query (query-expression (database mysql-database)
+ field-types)
(with-slots (mysql-ptr) database
(uffi:with-cstring (query-native query-expression)
(if (zerop (mysql-query mysql-ptr query-native))
(declare (type mysql-mysql-res-ptr-def res-ptr))
(if (not (uffi:null-pointer-p res-ptr))
(if full-set
- (values (make-mysql-result-set :res-ptr res-ptr :full-set t)
+ (values (make-mysql-result-set :res-ptr res-ptr :full-set t
+ :field-types field-types)
(mysql-num-fields res-ptr)
(mysql-num-rows res-ptr))
(values (make-mysql-result-set :res-ptr res-ptr)
;;;; Original code by Pierre R. Mai
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: postgresql-socket-sql.cl,v 1.2 2002/03/24 18:08:27 kevin Exp $
+;;;; $Id: postgresql-socket-sql.cl,v 1.3 2002/03/24 18:39:32 kevin Exp $
;;;;
;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;; and Copyright (c) 1999-2001 by Pierre R. Mai
:error "Didn't receive result cursor for query."))
(values (make-postgresql-socket-result-set
:done nil
- :cursor cursor)
+ :cursor cursor
+ :field-types field-types)
(length (postgresql-cursor-fields cursor)))))))
(defmethod database-dump-result-set (result-set
;;;; Original code by Pierre R. Mai
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: postgresql-sql.cl,v 1.4 2002/03/24 18:31:05 kevin Exp $
+;;;; $Id: postgresql-sql.cl,v 1.5 2002/03/24 18:39:32 kevin Exp $
;;;;
;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;; and Copyright (c) 1999-2001 by Pierre R. Mai
(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