projects
/
clsql.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r9199: fold clsql-base and clsql-base-sys into clsql-base
[clsql.git]
/
sql
/
sql.lisp
diff --git
a/sql/sql.lisp
b/sql/sql.lisp
index 8227fea896f9b611cfe3fbf377855fff3cbdcc0c..8107bd96c1a0fe21b97a97b8d26cf6ed1bf185a1 100644
(file)
--- a/
sql/sql.lisp
+++ b/
sql/sql.lisp
@@
-33,11
+33,14
@@
(query (sql-output expr database) :database database :flatp flatp
:result-types result-types))
(query (sql-output expr database) :database database :flatp flatp
:result-types result-types))
-(defun truncate-database (
database
)
+(defun truncate-database (
&key (database *default-database*)
)
(unless (typep database 'database)
(unless (typep database 'database)
- (clsql-base
-sys
::signal-no-database-error database))
+ (clsql-base::signal-no-database-error database))
(unless (is-database-open database)
(database-reconnect database))
(unless (is-database-open database)
(database-reconnect database))
+ (when (db-type-has-views? (database-underlying-type database))
+ (dolist (view (list-views :database database))
+ (drop-view view :database database)))
(dolist (table (list-tables :database database))
(drop-table table :database database))
(dolist (index (list-indexes :database database))
(dolist (table (list-tables :database database))
(drop-table table :database database))
(dolist (index (list-indexes :database database))
@@
-66,7
+69,7
@@
value of T. This specifies that *STANDARD-OUTPUT* is used."
(mapcan #'(lambda (s f) (list s f)) sizes record)))))
(let* ((query-exp (etypecase query-exp
(string query-exp)
(mapcan #'(lambda (s f) (list s f)) sizes record)))))
(let* ((query-exp (etypecase query-exp
(string query-exp)
- (sql-query (sql-output query-exp))))
+ (sql-query (sql-output query-exp
database
))))
(data (query query-exp :database database))
(sizes (if (or (null sizes) (listp sizes)) sizes
(compute-sizes (if titles (cons titles data) data))))
(data (query query-exp :database database))
(sizes (if (or (null sizes) (listp sizes)) sizes
(compute-sizes (if titles (cons titles data) data))))
@@
-188,10
+191,11
@@
condition is true."
(let ((keyword-package (symbol-package :foo)))
(defmethod database-output-sql ((sym symbol) database)
(let ((keyword-package (symbol-package :foo)))
(defmethod database-output-sql ((sym symbol) database)
- (declare (ignore database))
- (if (equal (symbol-package sym) keyword-package)
- (concatenate 'string "'" (string sym) "'")
- (symbol-name sym))))
+ (convert-to-db-default-case
+ (if (equal (symbol-package sym) keyword-package)
+ (concatenate 'string "'" (string sym) "'")
+ (symbol-name sym))
+ database)))
(defmethod database-output-sql ((tee (eql t)) database)
(declare (ignore database))
(defmethod database-output-sql ((tee (eql t)) database)
(declare (ignore database))
@@
-231,17
+235,17
@@
condition is true."
:format-arguments (list (type-of thing) (type-of database)))))
:format-arguments (list (type-of thing) (type-of database)))))
-(defmethod output-sql-hash-key ((arg vector)
&optional
database)
+(defmethod output-sql-hash-key ((arg vector) database)
(list 'vector (map 'list (lambda (arg)
(or (output-sql-hash-key arg database)
(return-from output-sql-hash-key nil)))
arg)))
(list 'vector (map 'list (lambda (arg)
(or (output-sql-hash-key arg database)
(return-from output-sql-hash-key nil)))
arg)))
-(defmethod output-sql (expr
&optional (database *default-database*)
)
+(defmethod output-sql (expr
database
)
(write-string (database-output-sql expr database) *sql-stream*)
(values))
(write-string (database-output-sql expr database) *sql-stream*)
(values))
-(defmethod output-sql ((expr list)
&optional (database *default-database*)
)
+(defmethod output-sql ((expr list)
database
)
(if (null expr)
(write-string +null-string+ *sql-stream*)
(progn
(if (null expr)
(write-string +null-string+ *sql-stream*)
(progn
@@
-258,7
+262,8
@@
condition is true."
&key (database *default-database*))
(database-describe-table
database
&key (database *default-database*))
(database-describe-table
database
- (string-downcase (symbol-name (slot-value table 'name)))))
+ (convert-to-db-default-case
+ (symbol-name (slot-value table 'name)) database)))
#+nil
(defmethod add-storage-class ((self database) (class symbol) &key (sequence t))
#+nil
(defmethod add-storage-class ((self database) (class symbol) &key (sequence t))