- (string-trim-last-character
- (mapcar-append-string (lambda (c) (concatenate 'string c ","))
- (umls-file-fields file)))
- (string-trim-last-character
- (concatenate 'string
- (mapcar2-append-string insert-func
- (remove-custom-cols (umls-file-colstructs file))
- values)
- (custom-col-values (custom-colstructs-for-file file) values "," t)))
- )))
-
-(defun custom-col-values (colstructs values delim doquote)
- "Returns string of column values for SQL inserts for custom columns"
- (let ((result ""))
- (dolist (col colstructs)
- (let* ((func (umls-col-custom-value-func col))
- (custom-value (funcall func values)))
- (string-append result
- (if doquote (umls-col-quotechar col))
- (escape-backslashes custom-value)
- (if doquote (umls-col-quotechar col))
- delim)))
- result))
+ (umls-file-fields file)
+ (concat-separated-strings
+ ","
+ (mapcar insert-func (remove-custom-cols (umls-file-colstructs file)) values)
+ (custom-col-values (custom-colstructs-for-file file) values t)))))
+
+
+(defun custom-col-value (col doquote values)
+ (let ((custom-value (funcall (umls-col-custom-value-func col) values)))
+ (if doquote
+ (let ((q (umls-col-quotechar col)))
+ (concatenate 'string q (escape-backslashes custom-value) q))
+ (escape-backslashes custom-value))))
+
+(defun custom-col-values (colstructs values doquote)
+ "Returns a list of string column values for SQL inserts for custom columns"
+ (loop for col in colstructs collect (custom-col-value col doquote values)))
+