diff options
| author | ckonstanski <carlos.konstanski@olo.com> | 2021-05-30 22:01:56 -0600 |
|---|---|---|
| committer | ckonstanski <carlos.konstanski@olo.com> | 2021-05-30 22:01:56 -0600 |
| commit | 7ead89d56e2d54bf65779f35ddfc63155fcce753 (patch) | |
| tree | 423ae6a5c68d5250c730a8a688e236f61f8532a0 /src/record-pkg.lisp | |
initial commit
Diffstat (limited to 'src/record-pkg.lisp')
| -rw-r--r-- | src/record-pkg.lisp | 45 |
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)) |
