object caching.
* sql/expressions.lisp: Fix SQL generation for the symbol NIL.
+16 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk>
+ * sql/oodml.lisp: on Lispworks, use weak valued hash tables for
+ object caching.
+ * sql/expressions.lisp: Fix SQL generation for the symbol NIL.
+
16 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk>
* sql/expressions.lisp: reactivate caching of generated SQL strings.
Move methods for DATABASE-OUTPUT-SQL, OUTPUT-SQL and SQL-HASH-KEY
(let ((keyword-package (symbol-package :foo)))
(defmethod database-output-sql ((sym symbol) database)
- (convert-to-db-default-case
- (if (equal (symbol-package sym) keyword-package)
- (concatenate 'string "'" (string sym) "'")
- (symbol-name sym))
- database)))
+ (if (null sym)
+ +null-string+
+ (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))
(unless (record-caches database)
(setf (record-caches database)
(make-hash-table :test 'equal
- #+allegro :values #+allegro :weak)))
+ #+allegro :values #+allegro :weak
+ #+lispworks :weak-kind #+lispworks :value)))
(setf (gethash (compute-records-cache-key targets qualifiers)
(record-caches database)) results)
results)