r11067: * sql/expressions.lisp: Use database-output-as-type if value exists...
[clsql.git] / sql / expressions.lisp
index 57afac1b391084aaf658ec4d3511d6573ceaeb2e..5bce5d89c03e30d9b5118392b2d3f338aacd34e9 100644 (file)
@@ -589,8 +589,8 @@ uninclusive, and the args from that keyword to the end."
                         (string-equal (slot-value a 'alias)
                                       (slot-value b 'alias))
                         t)
-                    (string-equal (symbol-name (slot-value a 'name))
-                                  (symbol-name (slot-value b 'name))))))
+                    (string-equal (sql-escape (slot-value a 'name))
+                                  (sql-escape (slot-value b 'name))))))
         (typecase from
           (list (output-sql (apply #'vector
                                    (remove-duplicates from
@@ -898,6 +898,16 @@ uninclusive, and the args from that keyword to the end."
        database))))
 
 (defmethod database-output-sql ((tee (eql t)) database)
+  (if database
+      (let ((val (database-output-sql-as-type 'boolean t database (database-type database))))
+        (if val
+            (typecase val
+              (string val)
+              (t (format nil "~A" val)))
+          "'Y'"))
+    "'Y'"))
+
+#+nil(defmethod database-output-sql ((tee (eql t)) database)
   (declare (ignore database))
   "'Y'")