[elephant-cvs] CVS elephant/src/db-clsql

ieslick ieslick at common-lisp.net
Sun Apr 29 04:03:29 UTC 2007


Update of /project/elephant/cvsroot/elephant/src/db-clsql
In directory clnet:/tmp/cvs-serv6425/src/db-clsql

Modified Files:
	sql-collections.lisp 
Log Message:
Fixed fencepost error in cursor-prev-x in clsql data store

--- /project/elephant/cvsroot/elephant/src/db-clsql/sql-collections.lisp	2007/04/12 02:47:24	1.13
+++ /project/elephant/cvsroot/elephant/src/db-clsql/sql-collections.lisp	2007/04/29 04:03:28	1.14
@@ -518,18 +518,19 @@
   (cursor-prev-x cursor)
 )
 (defmethod cursor-prev-x ((cursor sql-secondary-cursor)  &key (returnpk nil))
-  (declare (optimize (speed 3)))
+;;  (declare (optimize (speed 3)))
   (if (cursor-initialized-p cursor)
       (progn
-	(let ((cur-pk (get-current-key cursor)))
+	(let ((prior-pk (get-current-key cursor)))
 	  (decf (sql-crsr-ck cursor))
-	  (if (equal cur-pk (get-current-key cursor))
+	  (format t "prior-key: ~A  current-key: ~A%" prior-pk (get-current-key cursor))
+	  (if (eq prior-pk (get-current-key cursor))
 	      (setf (dp-nmbr cursor) (max 0 (- (dp-nmbr cursor) 1)))
-	      (setf (dp-nmbr cursor) 
-		    (sql-get-from-clcn-cnt (cursor-oid cursor)
-					   (get-current-key cursor)
-					   (get-con (cursor-btree cursor))
-		    ))))
+	      (setf (dp-nmbr cursor)
+		    (1- (sql-get-from-clcn-cnt (cursor-oid cursor)
+					       (get-current-key cursor)
+					       (get-con (cursor-btree cursor))))
+		    )))
 	(has-key-value-scnd cursor :returnpk returnpk))
       (cursor-last-x cursor :returnpk returnpk)))
 




More information about the Elephant-cvs mailing list