From de9b43c3322bc53db5dd40c10fcfd7fae2d5dfac Mon Sep 17 00:00:00 2001 From: Dimitri Fontaine Date: Wed, 14 Jun 2017 21:02:00 +0200 Subject: [PATCH] Add support for the MS-SYBDATE datatype. Fixes #568, thanks to a test case being provided! --- src/monkey/mssql.lisp | 2 +- src/sources/mssql/mssql-schema.lisp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/monkey/mssql.lisp b/src/monkey/mssql.lisp index a80d667..9cd4e41 100644 --- a/src/monkey/mssql.lisp +++ b/src/monkey/mssql.lisp @@ -94,7 +94,7 @@ (:syb-int4 (unsigned-to-signed (mem-ref data :unsigned-int) 4)) (:syb-int8 (mem-ref data :int8)) (:syb-flt8 (mem-ref data :double)) - ((:syb-datetime :syb-datetime4) + ((:syb-datetime :syb-datetime4 :syb-msdate) (with-foreign-pointer (%buf +numeric-buf-sz+) (let ((count (%dbconvert %dbproc diff --git a/src/sources/mssql/mssql-schema.lisp b/src/sources/mssql/mssql-schema.lisp index a03f65d..5ec8b8e 100644 --- a/src/sources/mssql/mssql-schema.lisp +++ b/src/sources/mssql/mssql-schema.lisp @@ -288,6 +288,7 @@ ORDER BY KCU1.CONSTRAINT_NAME, KCU1.ORDINAL_POSITION" (case (intern (string-upcase type) "KEYWORD") (:datetime (format nil "convert(varchar, [~a], 126)" name)) (:smalldatetime (format nil "convert(varchar, [~a], 126)" name)) + (:date (format nil "convert(varchar, [~a], 126)" name)) (:bigint (format nil "cast([~a] as numeric)" name)) (t (format nil "[~a]" name))))