removed cursoring interface from postgresql-socket3 (cl-postgres has an interface...
authorRuss Tyndall <russ@acceleration.net>
Tue, 29 Sep 2009 22:09:21 +0000 (18:09 -0400)
committerRuss Tyndall <russ@acceleration.net>
Tue, 29 Sep 2009 22:09:21 +0000 (18:09 -0400)
db-postgresql-socket3/sql.lisp

index 8c2fa3efb695dc2da15ef01eedd48da7c5dbe0cd..04b18974d52bb7f8157e3690f1272d16bb190283 100644 (file)
 
 ;;;; Cursoring interface
 
-(defclass cursor ()
-  ((next-row :accessor next-row :initarg :next-row :initform nil)
-   (fields :accessor fields :initarg :fields :initform nil)
-   (next-field :accessor next-field :initarg :next-field :initform nil)
-   (done :accessor done :initarg :done :initform nil)))
-
-(defvar *cursor* ())
-
-(cl-postgres:def-row-reader clsql-cursored-row-reader (fields)
-  (setf *cursor*
-       (make-instance 'cursor
-                      :next-row #'cl-postgres:next-row
-                      :fields fields
-                      :next-field #'cl-postgres:next-field)))
 
 (defmethod database-query-result-set ((expression string)
                                       (database postgresql-socket3-database)
                                       &key full-set result-types)
   (declare (ignore result-types))
   (declare (ignore full-set))
-  (let ((connection (database-connection database))
-       *cursor*)
-    (with-postgresql-handlers (database expression)
-      (cl-postgres:exec-query connection expression 'clsql-cursored-row-reader)
-      (break "Built cursor")
-      (values *cursor* (length (fields *cursor*))))))
+  (error "Cursoring interface is not supported for postgresql-socket3-database try cl-postgres:exec-query with a custom row-reader"))
 
 (defmethod database-dump-result-set (result-set
                                      (database postgresql-socket3-database))
-  (unless (done result-set)
-    (loop :while (funcall (next-row result-set))))
+  (error "Cursoring interface is not supported for postgresql-socket3-database try cl-postgres:exec-query with a custom row-reader")
   T)
 
 (defmethod database-store-next-row (result-set
                                     (database postgresql-socket3-database)
                                     list)
-  (when (and (not (done result-set))
-            (setf (done result-set) (funcall (next-row result-set))))
-    (let* ((data (loop :for field :across (fields result-set)
-                      :collect (funcall (next-field result-set) field))))
-      ;; Maybe?
-      ;(setf list data)
-      (setf (car list) (car data) (cdr list) (cdr data))
-      )))
+  (error "Cursoring interface is not supported for postgresql-socket3-database try cl-postgres:exec-query with a custom row-reader"))
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;