From a51819f87401e7d005cef6857925ea69925265c0 Mon Sep 17 00:00:00 2001 From: Dimitri Fontaine Date: Fri, 10 May 2019 22:09:52 +0200 Subject: [PATCH] Have db3-numeric-to-pgsql-integer accept integer values. The cl-db3 driver is now parsing type I fields and emit them as native integers. We need to deal with that. See #929. --- src/utils/transforms.lisp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/utils/transforms.lisp b/src/utils/transforms.lisp index 65e9d0d..3756946 100644 --- a/src/utils/transforms.lisp +++ b/src/utils/transforms.lisp @@ -512,10 +512,12 @@ (defun db3-numeric-to-pgsql-integer (value) "DB3 numerics should be good to go, but might contain spaces." - (when value - (let ((integer-or-nil (parse-integer value :junk-allowed t))) - (when integer-or-nil - (write-to-string integer-or-nil))))) + (etypecase value + (null nil) + (integer (write-to-string value)) + (string (let ((integer-or-nil (parse-integer value :junk-allowed t))) + (when integer-or-nil + (write-to-string integer-or-nil)))))) (defun db3-date-to-pgsql-date (value) "Convert a DB3 date to a PostgreSQL date."