r2059: cleanup sql-escape* functions
authorKevin M. Rosenberg <kevin@rosenberg.net>
Sun, 19 May 2002 16:05:23 +0000 (16:05 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Sun, 19 May 2002 16:05:23 +0000 (16:05 +0000)
base/package.cl
base/utils.cl
sql/usql.cl

index 30fc9a54ffd32da7b0acf8596bd991e80e752e44..ceb525cc7ff9287450b495d6754e5bfed954e590 100644 (file)
@@ -8,7 +8,7 @@
 ;;;;                Original code by Pierre R. Mai 
 ;;;; Date Started:  Feb 2002
 ;;;;
-;;;; $Id: package.cl,v 1.3 2002/05/15 17:21:29 kevin Exp $
+;;;; $Id: package.cl,v 1.4 2002/05/19 16:05:22 kevin Exp $
 ;;;;
 ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;; and Copyright (c) 1999-2001 by Pierre R. Mai
         ;; utils.cl
         #:number-to-sql-string
         #:float-to-sql-string
-        #:sql-escape
+        #:sql-escape-quotes
 
         ;; For UncommonSQL support
         #:sql-ident
index b64824c971b29a61d858280eb1c664cd5f15b57d..de028aaf6e4cfcd238a84ae70f3ec144dcbe2699 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:   Kevin M. Rosenberg
 ;;;; Date Started: Mar 2002
 ;;;;
-;;;; $Id: utils.cl,v 1.2 2002/05/15 17:23:59 kevin Exp $
+;;;; $Id: utils.cl,v 1.3 2002/05/19 16:05:22 kevin Exp $
 ;;;;
 ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
   "Convert exponent character for SQL"
   (substitute #\e #\f (substitute #\e #\d (write-to-string num :readably t))))
 
-(defun sql-escape (s)
-  "Escape single quotes for SQL"
+(defun sql-escape (identifier)
+  "Change hyphens to underscores, ensure string"
+  (let* ((unescaped (etypecase identifier
+                      (symbol (symbol-name identifier))
+                      (string identifier)))
+         (escaped (make-string (length unescaped))))
+    (dotimes (i (length unescaped))
+      (setf (char escaped i)
+            (cond ((equal (char unescaped i) #\-)
+                   #\_)
+                  ;; ...
+                  (t
+                   (char unescaped i)))))
+    escaped))
+
+
+(defun sql-escape-quotes (s)
+  "Escape quotes for SQL string writing"
   (substitute-string-for-char s #\' "''"))
 
 (defun substitute-string-for-char (procstr match-char subst-str) 
index d2a53eccd64868f36136ecd659493182ee37bbba..1a870984ff49907f5b681549ef91c4edf9a356ed 100644 (file)
@@ -8,7 +8,7 @@
 ;;;; Programmers:   Kevin M. Rosenberg and onShore Development Inc
 ;;;; Date Started:  Mar 2002
 ;;;;
-;;;; $Id: usql.cl,v 1.6 2002/04/07 15:11:21 kevin Exp $
+;;;; $Id: usql.cl,v 1.7 2002/05/19 16:05:23 kevin Exp $
 ;;;;
 ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;; and onShore Development Inc
@@ -74,22 +74,6 @@ specifies the database to operation on, defaulting to
     `(make-instance 'sql-ident :name ',name)))
 
 
-;; KMR -- change aref to more specific char
-(defun sql-escape (identifier)
-  (let* ((unescaped (etypecase identifier
-                      (symbol (symbol-name identifier))
-                      (string identifier)))
-         (escaped (make-string (length unescaped))))
-    (dotimes (i (length unescaped))
-      (setf (char escaped i)
-            (cond ((equal (char unescaped i) #\-)
-                   #\_)
-                  ;; ...
-                  (t
-                   (char unescaped i)))))
-    escaped))
-
-
 (defun create-sequence (name &key (database *default-database*))
   (database-create-sequence name database))