r11476: add force translation option
[umlisp.git] / parse-common.lisp
index 25d3ee3f11bc0dff11d8d1083dcb5a8bba3911ae..96f7b8ddef77cd7a026bb5579a4c8efb3dd516ba 100644 (file)
 "Return pathname for a umls filename with an optional extension"
   (etypecase filename
     (string
+     (let* ((name-list (delimited-string-to-list filename #\.))
+            (name (if (second name-list)
+                      (first name-list)
+                      (concatenate 'string (first name-list) (or extension ""))))
+            (type (when (second name-list)
+                    (concatenate 'string (second name-list) (or extension "")))))
      (merge-pathnames
-      (make-pathname :name (concatenate 'string filename extension))
+      (make-pathname :name name :type type)
       (case (schar filename 0)
-       ((#\M #\m)
-        *meta-path*)
-       ((#\L #\l)
-        *lex-path*)
-       ((#\S #\s)
-        *net-path*)
-       (t
-        *umls-path*))))
+        ((#\M #\m)
+         *meta-path*)
+        ((#\L #\l)
+         *lex-path*)
+        ((#\S #\s)
+         *net-path*)
+        (t
+         *umls-path*)))))
     (pathname
      filename)))
 
@@ -271,6 +277,12 @@ append a unique number (starting at 2) onto a column name that is repeated in th
 
 (defun canonicalize-column-type (type)
   (cond
+   ((string-equal type "TINYINT")
+    (case *umls-sql-type*
+      (:mysql "TINYINT")
+      ((:postgresql :postgresql-socket) "INT1")
+      (:oracle "NUMBER(3,0)")
+      (t "INTEGER")))
    ((string-equal type "SMALLINT")
     (case *umls-sql-type*
       (:mysql "SMALLINT")
@@ -326,6 +338,9 @@ append a unique number (starting at 2) onto a column name that is repeated in th
     (sql-i (setf (sqltype col)  (canonicalize-column-type "INTEGER")
                 (parse-fun col) #'parse-integer
                 (quote-str col) ""))
+    (sql-t (setf (sqltype col)  (canonicalize-column-type "TINYINT")
+                (parse-fun col) #'parse-integer
+                (quote-str col) ""))
     (sql-f (setf (sqltype col)  (canonicalize-column-type "NUMERIC")
                 (parse-fun col) #'read-from-string
                 (quote-str col) ""))