Method: (DB-GET DB-EXT T)

Source

(defmethod db-get ((db db-ext) key &key data txn
		   consume consume-wait
		   set-recno
		   multiple rmw
		   not-found)
  (with-cbuffer key-buffer
    (funcall (buf-writer db) key key-buffer)
    (let ((data-buffer (when data (alloc-cbuffer))))
      (unwind-protect
	   (let* ((buf (db-get (if (is-secondary db)
				   (db-sec-handle db)
				   (db-handle db))
			       key-buffer
			       :data (when data
				       (funcall (buf-writer db)
						data
						data-buffer)
				       data-buffer)
			       :txn txn
			       :consume consume :consume-wait consume-wait
			       :set-recno set-recno
			       :multiple multiple :rmw rmw
			       :not-found not-found))
		  (ret))
	     (unwind-protect
		  (setf ret (funcall (buf-reader db) buf))
	       (free-cbuffer buf))
	     ret)
	(when data-buffer
	  (free-cbuffer data-buffer))))))
Source Context