SQLite binding for CLISP
お手軽にデータベースが使える SQLite の CLISP-binding を作り始めてみた。CLISP の FFI はあまり良く知らないので勉強を兼ねて。
[1]> (load "sqlite") ;; Loading file /home/lambda/commonlisp/user/sqlite.lisp ... ;; Loaded file /home/lambda/commonlisp/user/sqlite.lisp T [2]> (use-package :sqlite) T [3]> (connect :database "sample.db") #<FOREIGN-ADDRESS #x08192A00> [4]> (sql "CREATE TABLE Sample(id NOT NULL, val NOT NULL);") :SQLITE-OK [5]> (dotimes (i 100) (sql (format nil "INSERT INTO Sample VALUES(~A, ~A);" i (* i i)))) NIL [6]> (sql "SELECT * FROM Sample LIMIT 10;") (("0" "0") ("1" "1") ("2" "4") ("3" "9") ("4" "16") ("5" "25") ("6" "36") ("7" "49") ("8" "64") ("9" "81")) ; ("id" "val") [7]>
…が、探せば既に誰か作ってそうな気がしてきた。ちょっと調査してみよう。
http://members.optusnet.com.au/apicard/ に LispWorks 用インターフェースを発見。CLISP 用のは無いのかなぁ?
- CLISP 用インターフェース作成
- UFFI 用インターフェース作成