r10048: support clisp's attribute name for the type field in class direct slots
[clsql.git] / sql / expressions.lisp
index 7f0ad1f82ff601a6556a8d45080fcb481494ba27..bcf1383189ff83a8c3ef47ce4a83ef4a674b6462 100644 (file)
@@ -830,7 +830,7 @@ uninclusive, and the args from that keyword to the end."
 (defmethod database-output-sql ((str string) database)
   (declare (ignore database)
            (optimize (speed 3) (safety 1) #+cmu (extensions:inhibit-warnings 3))
-           (type (simple-array * (*)) str))
+           (simple-string str))
   (let ((len (length str)))
     (declare (type fixnum len))
     (cond ((zerop len)
@@ -850,7 +850,11 @@ uninclusive, and the args from that keyword to the end."
                         (setf (aref buf j) #\')
                         (incf j)
                         (setf (aref buf j) #\'))
-                       ((char= char #\\)
+                       ((and (char= char #\\)
+                             ;; MTP: only escape backslash with pgsql/mysql 
+                             (member (database-underlying-type database) 
+                                     '(:postgresql :mysql)
+                                     :test #'eq))
                         (setf (aref buf j) #\\)
                         (incf j)
                         (setf (aref buf j) #\\))