Ignore:
Timestamp:
08/23/2008 11:23:53 AM (18 years ago)
Author:
raverkamp
revision id:
svn-v3-trunk1:1c22b0a8-4d0b-0410-a296-af6a2e6f35e3:plain-odbc%2Ftrunk:14
Message:

support for CFFI-0.10 and 0.9.2
dummy test for postgresql integrated
moved string handling to ffi-support
sql-server tests work, nothing else (driver<->clisp interaction problems?)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vendor/src/odbc/odbc-main.lisp

    r6 r8  
    204204    (nreverse res)))
    205205
    206 (defun bind-columns (query)
     206(defun bind-columns (query columncount)
    207207  (with-slots (hstmt
    208208               columns
    209209               column-count)
    210210              query
    211     (let ((cc (result-columns-count hstmt)))
    212       (when (zerop cc)
     211      (when (zerop columncount)
    213212        (error "can not bind columns, there is no result set"))
    214       (setf column-count cc)
     213      (setf column-count columncount)
    215214      (setf columns (make-array column-count))
    216215      (dotimes (pos column-count)
    217216        ;; the columns are 0 based, at least here
    218217        (let ((col (create-column hstmt pos)))
    219           (setf (aref columns pos) col))))))
     218          (setf (aref columns pos) col)))))
    220219
    221220(defun unbind-columns (query)
     
    344343              (row-count (result-rows-count (hstmt query))))
    345344          (loop
    346             (when (zerop (result-columns-count (hstmt query))) (return))
    347             (bind-columns query)
     345            (let ((column-count (result-columns-count (hstmt query))))
     346            (when (zerop column-count) (return))
     347            (bind-columns query column-count)
    348348            (let ((res (fetch-query-results query ))
    349349                  (names (coerce (column-names query) 'list)))
     
    351351              (unbind-columns query)
    352352              (unless (%sql-more-results (hstmt query))
    353                 (return))))
     353                (return)))))
    354354          (let ((return-parameters (get-parameters query)))
    355355            (values row-count (nreverse res-list) return-parameters))))
     
    493493            (unless (= (column-count query) no-of-columns)
    494494              (error "the number of columns has changed"))
    495             (bind-columns query)))
     495            (bind-columns query no-of-columns)))
    496496        (values (fetch-query-results query)
    497497                (coerce (column-names query) 'list)))
Note: See TracChangeset for help on using the changeset viewer.