(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)))))
(string
(merge-pathnames
(make-pathname :name (concatenate 'string filename extension))
- (case (char filename 0)
+ (case (schar filename 0)
((#\M #\m)
*meta-path*)
((#\L #\l)
(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))
(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))