+24 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.9.4: Multiple changes to support Allegro's "modern"
+ lisp which uses a lowercase reader and has case-sensitive symbols
+ * sql/classes.lisp: Fix make-load-form bug for sql-ident-table
+ exposed by case-sensitive mlisp
+
22 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
* Version 2.9.3: All tests now pass on all platforms!
* LATEST-TEST-RESULTS: New file with summary of test results
+cl-sql (2.9.4-1) unstable; urgency=low
+
+ * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org> Sat, 24 Apr 2004 07:54:45 -0600
+
cl-sql (2.9.3-1) unstable; urgency=low
* New upstream
Package: cl-sql-tests
Architecture: all
-Depends: cl-sql-base, cl-sql-postgresql, cl-sql-postgresql-socket, cl-sql-mysql, cl-rt, cl-ptester
+Depends: cl-sql-base, cl-sql-postgresql, cl-sql-postgresql-socket, cl-sql-mysql, cl-rt
Suggests: acl-installer, libmyodbc, unixodbc,cl-sql-aodbc
Description: Testing suite for CLSQL
This package contains a test suite for CLSQL. It requires manual
(with-slots (qualifier name type params)
expr
(if (and (not qualifier) (not type))
- (write-string (sql-escape (convert-to-db-default-case (symbol-name name) database)) *sql-stream*)
+ (write-string (sql-escape (convert-to-db-default-case
+ (symbol-name name) database)) *sql-stream*)
(format *sql-stream* "~@[~A.~]~A~@[ ~A~]"
- (if qualifier (sql-escape qualifier) qualifier)
+ (when qualifier
+ (convert-to-db-default-case (sql-escape qualifier) database))
(sql-escape (convert-to-db-default-case name database))
- type))
+ (when type
+ (convert-to-db-default-case (symbol-name type) database))))
t))
(defmethod output-sql-hash-key ((expr sql-ident-attribute) database)
(declare (ignore environment))
(with-slots (alias name)
sql
- `(make-instance 'sql-ident-table :name name :alias ',alias)))
+ `(make-instance 'sql-ident-table :name ',name :table-alias ',alias)))
(defun generate-sql (expr database)
(let ((*sql-stream* (make-string-output-stream)))
;; Column constraint types
;;
(defparameter *constraint-types*
- '(("NOT-NULL" . "NOT NULL")
- ("PRIMARY-KEY" . "PRIMARY KEY")))
+ (list
+ (cons (symbol-name-default-case "NOT-NULL") "NOT NULL")
+ (cons (symbol-name-default-case "PRIMARY-KEY") "PRIMARY KEY")))
;;
;; Convert type spec to sql syntax
((typep arg 'sql-ident)
(slot-value arg 'name))
((stringp arg)
- (intern (string-upcase arg)))))
+ (intern (symbol-name-default-case arg)))))
(defun column-name-from-arg (arg)
(cond ((symbolp arg)
((typep arg 'sql-ident)
(slot-value arg 'name))
((stringp arg)
- (intern (string-upcase arg)))))
+ (intern (symbol-name-default-case arg)))))
(defun remove-keyword-arg (arglist akey)
(defmethod database-pkey-constraint ((class standard-db-class) database)
(let ((keylist (mapcar #'view-class-slot-column (keyslots-for-class class))))
(when keylist
- (format nil "CONSTRAINT ~APK PRIMARY KEY~A"
- (database-output-sql (view-table class) database)
- (database-output-sql keylist database)))))
+ (convert-to-db-default-case
+ (format nil "CONSTRAINT ~APK PRIMARY KEY~A"
+ (database-output-sql (view-table class) database)
+ (database-output-sql keylist database))
+ database))))
(defun create-view-from-class (view-class-name
`(progn
(defun ,function ,@body)
(let ((symbol (cadr (member :symbol ',definition-keys))))
- (setf (gethash (if symbol (clsql-base-sys:symbol-name-default-case symbol) ',function)
+ (setf (gethash (if symbol (symbol-name-default-case symbol) ',function)
*sql-op-table*)
',function))))
(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))
&key (database *default-database*))
(database-describe-table
database
- (convert-to-db-default-case (symbol-name (slot-value table 'name)) database)))
+ (convert-to-db-default-case
+ (symbol-name (slot-value table 'name)) database)))
#+nil
(defmethod add-storage-class ((self database) (class symbol) &key (sequence t))
for the operator."
(typecase operation
(string nil)
- (symbol (gethash (string-upcase (symbol-name operation))
+ (symbol (gethash (symbol-name-default-case (symbol-name operation))
*sql-op-table*))))
(defun sql-operation (operation &rest rest)
:flatp t)
results)
(apply #'values (nreverse results)))
- nil :COMMITTED nil ("lenin-nospam@soviet.org") :COMMITTED
+ nil :committed nil ("lenin-nospam@soviet.org") :committed
nil ("lenin@soviet.org"))
;; runs a valid update and an invalid one within a transaction and checks
(clsql:sql [foo bar])
"FOO.BAR")
-;; not sure about this one
(deftest :syntax/ident/3
(clsql:sql ["foo" bar])
- "foo.BAR")
+ "FOO.BAR")
;(deftest :syntax/ident/4
; (clsql:sql [foo "bar"])
(clsql:sql [foo bar :integer])
"FOO.BAR INTEGER")
-;; not sure about this one
(deftest :syntax/ident/7
(clsql:sql ["foo" bar :integer])
- "foo.BAR INTEGER")
+ "FOO.BAR INTEGER")
(deftest :syntax/value/1