X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=db-sqlite%2Fsqlite-sql.lisp;h=bc93bb8f53d770c56386e10ef8ff367602518de6;hb=2f1e9becafa048960362bd6f9bb0f327045807cd;hp=5a41b4d10ddef7273e9f2da8308ef21d46cd90e2;hpb=66b64b326d109d6cb0d96923b60ed6aaeaeabb21;p=clsql.git diff --git a/db-sqlite/sqlite-sql.lisp b/db-sqlite/sqlite-sql.lisp index 5a41b4d..bc93bb8 100644 --- a/db-sqlite/sqlite-sql.lisp +++ b/db-sqlite/sqlite-sql.lisp @@ -41,6 +41,8 @@ (handler-case (make-instance 'sqlite-database :name (database-name-from-spec connection-spec :sqlite) + :database-type :sqlite + :connection-spec connection-spec :sqlite-db (sqlite:sqlite-open (first connection-spec))) (sqlite:sqlite-error (err) (error 'clsql-connect-error @@ -282,3 +284,21 @@ (defmethod database-sequence-last (sequence-name (database sqlite-database)) (declare (ignore sequence-name))) + +(defmethod database-create (connection-spec (type (eql :sqlite))) + (declare (ignore connection-spec)) + ;; databases are created automatically by SQLite + t) + +(defmethod database-destroy (connection-spec (type (eql :sqlite))) + (destructuring-bind (name) connection-spec + (if (probe-file name) + (delete-file name) + nil))) + +(defmethod database-probe (connection-spec (type (eql :sqlite))) + (destructuring-bind (name) connection-spec + ;; TODO: Add a test that this file is a real sqlite database + (and (probe-file name) t))) + +