changeset 679: | 12287fab15d0 |
parent: | 97dd03beda03 |
child: | 5f88b237ce29 |
author: | Richard Westhaver <ellis@rwest.io> |
date: | Thu, 26 Sep 2024 21:16:45 -0400 |
permissions: | -rw-r--r-- |
description: | rocksdb load opts and env updates |
226 | 1 | ;;; rdb/proto.lisp --- RDB protocol |
2 | ||
3 | ;; Extends OBJ/DB protocol with RocksDB-specific generics. |
|
4 | ||
5 | ;;; Code: |
|
93 | 6 | (in-package :rdb) |
7 | ||
94 | 8 | ;; Most methods are intended to work with the RDB struct directly |
226 | 9 | (defgeneric put-kv (self kv) |
10 | (:documentation "Insert a KeyVal object.")) |
|
11 | (defgeneric put-key (self key val) |
|
12 | (:documentation "Insert a KEY and VAL.")) |
|
292
00d1c8afcdbb
mostly done with std refactor, added sst-file-writer to rdb
Richard Westhaver <ellis@rwest.io>
parents:
282
diff
changeset
|
13 | (defgeneric put-key-ts (self key val ts) |
00d1c8afcdbb
mostly done with std refactor, added sst-file-writer to rdb
Richard Westhaver <ellis@rwest.io>
parents:
282
diff
changeset
|
14 | (:documentation "Insert a KEY and VAL with associated timestamp TS.")) |
267
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
15 | (defgeneric get-key (self key &key) |
226 | 16 | (:documentation "Get value of KEY.")) |
267
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
17 | (defgeneric multi-get (self keys &key) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
18 | (:documentation "Retrieve multiple KEYS from SELF.")) |
226 | 19 | (defgeneric get-opt (self key) |
20 | (:documentation "Get value of option KEY.")) |
|
267
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
21 | (defgeneric set-opt (self key val &key) |
226 | 22 | (:documentation "Set value of option KEY to VAL.")) |
273
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
23 | (defgeneric push-opts (self) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
24 | (:documentation "Push all options to internal sap.")) |
269 | 25 | (defgeneric backfill-opts (self &key) |
26 | (:documentation "Backfill opts from an alien.")) |
|
271
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
27 | (defgeneric push-sap (self key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
28 | (:documentation "Push a value associated with KEY to the sap associated |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
29 | with SELF. Typically used to send a value from one slot, to a foreign |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
30 | handle stored in another slot of the same object.")) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
31 | (defgeneric push-sap* (self) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
32 | (:documentation "Implicitly push values to the sap associated with SELF.")) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
33 | (defgeneric pull-sap (self key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
34 | (:documentation "Pull a foreign value identified by KEY from the sap associated with SELF.")) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
35 | (defgeneric pull-sap* (self) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
36 | (:documentation "Implicitly pull foreign values from the sap associated with SELF.")) |
624
97dd03beda03
rocksdb updates in coordination with infra/scripts/org-graph-db-init.lisp
Richard Westhaver <ellis@rwest.io>
parents:
293
diff
changeset
|
37 | (defgeneric push-cf (cf self) |
271
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
38 | (:documentation "Push a column-family to a sap.")) |
679
12287fab15d0
rocksdb load opts and env updates
Richard Westhaver <ellis@rwest.io>
parents:
624
diff
changeset
|
39 | (defgeneric open-cf (self cf &optional opts) |
624
97dd03beda03
rocksdb updates in coordination with infra/scripts/org-graph-db-init.lisp
Richard Westhaver <ellis@rwest.io>
parents:
293
diff
changeset
|
40 | (:documentation "Open column-family CF in SELF. When ERROR is non-nil signal an error if the |
97dd03beda03
rocksdb updates in coordination with infra/scripts/org-graph-db-init.lisp
Richard Westhaver <ellis@rwest.io>
parents:
293
diff
changeset
|
41 | column-family is already open.")) |
97dd03beda03
rocksdb updates in coordination with infra/scripts/org-graph-db-init.lisp
Richard Westhaver <ellis@rwest.io>
parents:
293
diff
changeset
|
42 | (defgeneric open-cfs (self) |
97dd03beda03
rocksdb updates in coordination with infra/scripts/org-graph-db-init.lisp
Richard Westhaver <ellis@rwest.io>
parents:
293
diff
changeset
|
43 | (:documentation "Open all column-fmailies belonging to SELF.")) |
97dd03beda03
rocksdb updates in coordination with infra/scripts/org-graph-db-init.lisp
Richard Westhaver <ellis@rwest.io>
parents:
293
diff
changeset
|
44 | (defgeneric close-cf (self &optional error) |
97dd03beda03
rocksdb updates in coordination with infra/scripts/org-graph-db-init.lisp
Richard Westhaver <ellis@rwest.io>
parents:
293
diff
changeset
|
45 | (:documentation "Close the column-family SELF. When ERROR is non-nil signal an error if the |
97dd03beda03
rocksdb updates in coordination with infra/scripts/org-graph-db-init.lisp
Richard Westhaver <ellis@rwest.io>
parents:
293
diff
changeset
|
46 | column-family is already closed.")) |
97dd03beda03
rocksdb updates in coordination with infra/scripts/org-graph-db-init.lisp
Richard Westhaver <ellis@rwest.io>
parents:
293
diff
changeset
|
47 | (defgeneric close-cfs (self) |
97dd03beda03
rocksdb updates in coordination with infra/scripts/org-graph-db-init.lisp
Richard Westhaver <ellis@rwest.io>
parents:
293
diff
changeset
|
48 | (:documentation "Close the column-families belonging to SELF.")) |
271
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
49 | (defgeneric insert-key (self key val &key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
50 | (:documentation "Insert KEY:VAL into SELF.")) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
51 | (defgeneric insert-kv (self kv &key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
52 | (:documentation "Insert KV object into SELF.")) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
53 | (defgeneric make-kv (key val) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
54 | (:documentation "Make a KV object from KEY:VAL.")) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
55 | (defgeneric delete-key (self key &key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
56 | (:documentation "Delete value associated with KEY from SELF.")) |
292
00d1c8afcdbb
mostly done with std refactor, added sst-file-writer to rdb
Richard Westhaver <ellis@rwest.io>
parents:
282
diff
changeset
|
57 | (defgeneric delete-key-ts (self key ts) |
00d1c8afcdbb
mostly done with std refactor, added sst-file-writer to rdb
Richard Westhaver <ellis@rwest.io>
parents:
282
diff
changeset
|
58 | (:documentation "Delete value associated with KEY and TS from SELF.")) |
00d1c8afcdbb
mostly done with std refactor, added sst-file-writer to rdb
Richard Westhaver <ellis@rwest.io>
parents:
282
diff
changeset
|
59 | (defgeneric delete-key-range (self start end &key) |
00d1c8afcdbb
mostly done with std refactor, added sst-file-writer to rdb
Richard Westhaver <ellis@rwest.io>
parents:
282
diff
changeset
|
60 | (:documentation "Delete values associates with keys between START and END from SELF.")) |
271
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
61 | (defgeneric make-transaction (self &key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
62 | (:documentation "Make a new transaction object from SELF.")) |
273
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
63 | (defgeneric begin-transaction (self &key) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
64 | (:documentation "Begin processing of transaction SELF.")) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
65 | (defgeneric prepare-transaction (self &key) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
66 | (:documentation "Prepare transaction SELF.")) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
67 | (defgeneric rollback-transaction (self &key) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
68 | (:documentation "Rollback transaction SELF.")) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
69 | (defgeneric delete-transaction (self) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
70 | (:documentation "Delete transaction SELF.")) |
271
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
71 | (defgeneric commit-transaction (self &key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
72 | (:documentation "Commit transaction object SELF.")) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
73 | (defgeneric flush-db (self &key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
74 | (:documentation "Flush the database SELF.")) |
272
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
75 | (defgeneric sync-db (self other &key) ;;nyi |
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
76 | (:documentation "Perform a synchronization on SELF using OTHER.")) |
293
e2e5c4831389
std fixes and rdb with-sst
Richard Westhaver <ellis@rwest.io>
parents:
292
diff
changeset
|
77 | (defgeneric find-cf (cf self &key) |
e2e5c4831389
std fixes and rdb with-sst
Richard Westhaver <ellis@rwest.io>
parents:
292
diff
changeset
|
78 | (:documentation "Find the column-familiy CF in SELF.")) |
271
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
79 | (defgeneric flush-cf (self cf &key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
80 | (:documentation "Flush the column-family CF in SELF.")) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
81 | (defgeneric repair-db (self &key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
82 | (:documentation "Attempt to repair the database SELF.")) |
272
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
83 | (defgeneric backup-db (self &key) |
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
84 | (:documentation "Create a new backup for database SELF.")) |
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
85 | (defgeneric restore-db (self from &key) |
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
86 | (:documentation "Restore database SELF from object FROM.")) |
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
87 | (defgeneric snapshot-db (self) |
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
88 | (:documentation "Create a new snapshot for database SELF.")) |
271
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
89 | (defgeneric write-db (self batch &key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
90 | (:documentation "Write BATCH to database SELF.")) |
272
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
91 | (defgeneric shutdown-db (self &key) |
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
92 | (:documentation "Shutdown database SELF.")) |
292
00d1c8afcdbb
mostly done with std refactor, added sst-file-writer to rdb
Richard Westhaver <ellis@rwest.io>
parents:
282
diff
changeset
|
93 | (defgeneric ingest-db (self file &key) |
00d1c8afcdbb
mostly done with std refactor, added sst-file-writer to rdb
Richard Westhaver <ellis@rwest.io>
parents:
282
diff
changeset
|
94 | (:documentation "Ingest an external file into the database")) |
272
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
95 | (defgeneric get-prop (self propname) |
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
96 | (:documentation "Get the property-value of PROPNAME from SELF.")) |
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
97 | (defgeneric get-stats (self &optional htype) |
0a5e37693fdf
db protocol stuff, prep for tao, tests, with-temp-db
Richard Westhaver <ellis@rwest.io>
parents:
271
diff
changeset
|
98 | (:documentation "Get stats modulo HTYPE from SELF.")) |
273
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
99 | (defgeneric print-stats (self &optional stream) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
100 | (:documentation "Print statistics data from SELF.")) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
101 | (defgeneric get-metadata (self &optional arg) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
102 | (:documentation "Get metadata from SELF modulo ARG.")) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
103 | (defgeneric create-iter (self &optional cf opts) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
104 | (:documentation "Create an interator over the kvs of SELF module CF and OPTS.")) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
105 | (defgeneric iter-next (self) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
106 | (:documentation "Return the next value.")) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
107 | (defgeneric iter-prev (self) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
108 | (:documentation "Return the previous value.")) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
109 | (defgeneric iter-seek (self key &key) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
110 | (:documentation "Seek to a certain KEY in the iterator.")) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
111 | (defgeneric iter-val (self) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
112 | (:documentation "Return the value of current iterator item.")) |
282 | 113 | (defgeneric iter-valid-p (self) |
114 | (:documentation "Return non-nil if the iterator cursor is valid.")) |
|
273
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
115 | (defgeneric iter-key (self) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
116 | (:documentation "Return the key of current iterator item.")) |
282 | 117 | (defgeneric iter-kv (self) |
118 | (:documentation "Return the current KV object of the iterator by getting the key and |
|
119 | val.")) |
|
273
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
120 | (defgeneric iter-timestamp (self) |
6d56c4950fa2
rocksdb iter,metadata,and more
Richard Westhaver <ellis@rwest.io>
parents:
272
diff
changeset
|
121 | (:documentation "Return the timestamp of current iterator item.")) |
267
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
122 | (defgeneric make-val (val) |
271
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
123 | (:documentation "Coerce VAL into an OCTET-VECTOR.") |
267
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
124 | (:method ((val null)) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
125 | #()) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
126 | (:method ((val string)) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
127 | (string-to-octets val)) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
128 | (:method ((val t)) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
129 | val)) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
130 | |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
131 | (defgeneric make-key (key) |
271
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
132 | (:documentation "Coerce KEY into an OCTET-VECTOR.") |
267
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
133 | (:method ((val null)) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
134 | #()) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
135 | (:method ((val string)) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
136 | (string-to-octets val)) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
137 | (:method ((val t)) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
138 | val)) |
f3d814fb136a
db upgrades, alik, ignoring c files (for now)
Richard Westhaver <ellis@rwest.io>
parents:
226
diff
changeset
|
139 | |
271
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
140 | (defgeneric merge-key (self key val &key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
141 | (:documentation "Perform a merge operation on SELF using KEY and VAL.")) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
142 | |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
143 | (defgeneric merge-kv (self kv &key) |
4a1a21ff46ee
metadata,props,merge-ops
Richard Westhaver <ellis@rwest.io>
parents:
269
diff
changeset
|
144 | (:documentation "Perform a merge operation on SELF using object KV.")) |