r9106: store using varchar to retain length of string
authorKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 19 Apr 2004 17:02:04 +0000 (17:02 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 19 Apr 2004 17:02:04 +0000 (17:02 +0000)
parse-2002.lisp
parse-common.lisp

index aa9c46a6c423dc0bfb00c7f5eea4b4601484f0b7..9c2a286c82d65292988fae829e255ad884074107 100644 (file)
        (lambda (x) (write-to-string (make-cuisui (parse-ui (nth 2 x)) (parse-ui (nth 4 x))))))
       ("MRXNS.ENG" "KCUISUI" "BIGINT" 0
        (lambda (x) (write-to-string (make-cuisui (parse-ui (nth 2 x)) (parse-ui (nth 4 x))))))
-      ("MRXW.NONENG" "LAT" "CHAR" 3 (lambda (x) (nth 0 x)))
-      ("MRXW.NONENG" "WD"  "CHAR" 200  (lambda (x) (nth 1 x)))
+      ("MRXW.NONENG" "LAT" "VARCHAR" 3 (lambda (x) (nth 0 x)))
+      ("MRXW.NONENG" "WD"  "VARCHAR" 200  (lambda (x) (nth 1 x)))
       ("MRXW.NONENG" "CUI" "INTEGER" 0 (lambda (x) (write-to-string (parse-ui (nth 2 x)))))
       ("MRXW.NONENG" "LUI" "INTEGER" 0 (lambda (x) (write-to-string (parse-ui (nth 3 x)))))
       ("MRXW.NONENG" "SUI" "INTEGER" 0 (lambda (x) (write-to-string (parse-ui (nth 4 x)))))
index b8439fab6fffe9eeeecf91dfb69a25cf5ab97aed..98d0c018be432e33f74db79a67a78eeede645fe3 100644 (file)
@@ -41,7 +41,7 @@
     (string
      (merge-pathnames 
       (make-pathname :name (concatenate 'string filename extension)) 
-      (case (char filename 0)
+      (case (schar filename 0)
        ((#\M #\m)
         *meta-path*)
        ((#\L #\l)
@@ -135,7 +135,7 @@ Currently, these are the LEX and NET files."
 (defun make-ucol-for-column (colname filename ucols)
   ;; try to find column name without a terminal digit
   (let* ((len (length colname))
-        (last-digit? (digit-char-p (char colname (1- len))))
+        (last-digit? (digit-char-p (schar colname (1- len))))
         (base-colname (if last-digit?
                           (subseq colname 0 (1- len))
                           colname))
@@ -250,9 +250,7 @@ append a unique number (starting at 2) onto a column name that is repeated in th
      (when (and (cmax col) (av col))
        (if (> (cmax col) 255)
           (setf (sqltype col) "TEXT")
-        (if (< (- (cmax col) (av col)) 4) 
-            (setf (sqltype col) "CHAR") ; if average bytes wasted < 4
-          (setf (sqltype col) "VARCHAR")))))))
+          (setf (sqltype col) "VARCHAR"))))))
 
 (defun escape-column-name (name)
   (substitute #\_ #\/ name))