r9434: 22 May 2004 Kevin Rosenberg
[clsql.git] / sql / classes.lisp
index bf74b6ecc3e4c8e6f01fee30820eaa91517421bf..d1d8ff79a2885a0f4bf7df7a5c915aead099d7b1 100644 (file)
       :type ',type)))
 
 (defmethod output-sql ((expr sql-ident-attribute) database)
-  (with-slots (qualifier name type)
-      expr
+  (with-slots (qualifier name type) expr
     (if (and (not qualifier) (not type))
-       (write-string (sql-escape (convert-to-db-default-case 
-                                  (symbol-name name) database)) *sql-stream*)
+       (etypecase name
+         ;; Honor care of name
+         (string
+          (write-string name *sql-stream*))
+         (symbol
+          (write-string (sql-escape (convert-to-db-default-case 
+                                     (symbol-name name) database)) *sql-stream*)))
+      
        ;;; KMR: The TYPE field is used by CommonSQL for type conversion -- it
       ;;; should not be output in SQL statements
       #+ignore