r9457: Reworked CLSQL file structure.
[clsql.git] / sql / utils.lisp
index e1de8571c4761c4eb83cfb04ec863a198857e9a9..a23a820ff0231b108c92c526da089ab1e4743c01 100644 (file)
@@ -315,14 +315,25 @@ list of characters and replacement strings."
          (incf dpos))))))
 
 
+(defun getenv (var)
+  "Return the value of the environment variable."
+  #+allegro (sys::getenv (string var))
+  #+clisp (ext:getenv (string var))
+  #+(or cmu scl)
+  (cdr (assoc (string var) ext:*environment-list* :test #'equalp
+              :key #'string))
+  #+lispworks (lw:environment-variable (string var))
+  #+mcl (ccl::getenv var)
+  #+sbcl (sb-ext:posix-getenv var))
+
 (eval-when (:compile-toplevel :load-toplevel :execute)
   (when (char= #\a (schar (symbol-name '#:a) 0))
-    (pushnew :lowercase-reader *features*)))
+    (pushnew :clsql-lowercase-reader *features*)))
 
 (defun symbol-name-default-case (str)
-  #-lowercase-reader
+  #-clsql-lowercase-reader
   (string-upcase str)
-  #+lowercase-reader
+  #+clsql-lowercase-reader
   (string-downcase str))
 
 (defun convert-to-db-default-case (str database)
@@ -334,10 +345,13 @@ list of characters and replacement strings."
     ;; Default CommonSQL behavior is to upcase strings
     (string-upcase str)))
            
-
 (defun ensure-keyword (name)
   "Returns keyword for a name"
   (etypecase name
     (keyword name)
     (string (nth-value 0 (intern (symbol-name-default-case name) :keyword)))
     (symbol (nth-value 0 (intern (symbol-name name) :keyword)))))
+
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  (setq cl:*features* (delete :clsql-lowercase-reader cl:*features*)))
+