summaryrefslogtreecommitdiff
path: root/src/record-pkg.lisp
blob: 7a5ceb2df54c1b5f48000251978ead237c513afb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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))