From 723ae93c836285a2a964144dd0d3e69e5908a847 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 16 May 2024 19:20:39 +0200 Subject: [PATCH] put methods directly into generic definition --- storage/storage.lisp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/storage/storage.lisp b/storage/storage.lisp index 2f06e30..3d1cf9a 100644 --- a/storage/storage.lisp +++ b/storage/storage.lisp @@ -30,13 +30,16 @@ (params :initarg :params) (config :reader config :initarg :config))) +(defclass db-engine-pg (db-engine) ()) + (defun make-engine () (let ((backend (getf *db-config* :backend))) (funcall (getf *backends* backend) *db-config*))) -(defgeneric timestamp-to-sql (engine ts)) - -(defmethod timestamp-to-sql ((engine db-engine) ts) ts) +(defgeneric timestamp-to-sql (engine ts) + (:method ((engine db-engine) ts) ts) + (:method ((engine db-engine-pg) ts) + (format nil "~a" (local-time:universal-to-timestamp ts)))) (defclass storage () ((engine :reader engine :initarg :engine) @@ -98,7 +101,3 @@ :connect #'(lambda () (apply #'dbi:connect-cached db-type conn-args))))) -(defclass db-engine-pg (db-engine) ()) - -(defmethod timestamp-to-sql ((engine db-engine-pg) ts) - (format nil "~a" (local-time:universal-to-timestamp ts)))