summaryrefslogtreecommitdiff
path: root/src/record-pkg.lisp
diff options
context:
space:
mode:
authorckonstanski <carlos.konstanski@olo.com>2021-05-30 22:01:56 -0600
committerckonstanski <carlos.konstanski@olo.com>2021-05-30 22:01:56 -0600
commit7ead89d56e2d54bf65779f35ddfc63155fcce753 (patch)
tree423ae6a5c68d5250c730a8a688e236f61f8532a0 /src/record-pkg.lisp
initial commit
Diffstat (limited to 'src/record-pkg.lisp')
-rw-r--r--src/record-pkg.lisp45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/record-pkg.lisp b/src/record-pkg.lisp
new file mode 100644
index 0000000..7a5ceb2
--- /dev/null
+++ b/src/record-pkg.lisp
@@ -0,0 +1,45 @@
+*;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
+(declaim (optimize (speed 0) (safety 3) (debug 3)))
+
+(in-package :org-ckons-sql)
+
+(defclass record-pkg ()
+ ()
+ (:documentation "The superclass for all `pkg' classes."))
+
+(defmethod insert-record ((record-pkg record-pkg) (record record))
+ (insert-record* record))
+
+(defmethod update-record ((record-pkg record-pkg) (record record))
+ (update-record* record))
+
+(defmethod delete-record ((record-pkg record-pkg) (record record))
+ (delete-record* record))
+
+(defmethod delete-records ((record-pkg record-pkg) (record record))
+ (delete-records* record))
+
+(defmethod delete-records-where ((record-pkg record-pkg) (record record) where-expression)
+ (delete-records-where* record where-expression))
+
+(defmethod get-records ((record-pkg record-pkg) (record record) order-by-clause)
+ (select-records* record order-by-clause))
+
+(defmethod get-records-where ((record-pkg record-pkg) (record record) where-expression order-by-clause)
+ (select-records-where* record where-expression order-by-clause))
+
+(defmethod get-record ((record-pkg record-pkg) (record record))
+ (let ((record-list (get-records record-pkg record nil)))
+ (when (not (org-ckons-core::null-or-empty-p record-list))
+ (car record-list))))
+
+(defmethod get-record-where ((record-pkg record-pkg) (record record) where-expression)
+ (let ((record-list (get-records-where record-pkg record where-expression nil)))
+ (when (org-ckons-core::null-or-empty-p record-list)
+ (car record-list))))
+
+(defmethod get-records-where ((record-pkg record-pkg) (record record) where-expression order-by-clause)
+ (select-records-where* record where-expression order-by-clause))
+
+(defmethod call-pg-function ((record-pkg record-pkg) (postgres-record postgres-record))
+ (call-pg-function* postgres-record))