2024-12-29 13:01:16 +01:00
|
|
|
## Features
|
|
|
|
|
|
2024-12-20 11:51:57 +01:00
|
|
|
- repl
|
|
|
|
|
- mime-type => exec app + value
|
2024-12-23 16:19:27 +01:00
|
|
|
- add waitgroup to db.go funcs
|
2024-12-23 19:31:50 +01:00
|
|
|
- RestList does not support any params?
|
2024-12-29 13:01:16 +01:00
|
|
|
- lc() incoming tags+keys
|
|
|
|
|
|
|
|
|
|
## DB Structure
|
|
|
|
|
|
|
|
|
|
- put tags into sub bucket see #1
|
|
|
|
|
- change structure to:
|
|
|
|
|
|
|
|
|
|
data bucket
|
|
|
|
|
key => {key,value[0:60],isbin:bool}
|
|
|
|
|
|
|
|
|
|
value bucket
|
|
|
|
|
key => value (maybe always use []byte here)
|
|
|
|
|
|
|
|
|
|
tags bucket
|
|
|
|
|
key/tag => tag/key
|
|
|
|
|
tag/key => tag
|
|
|
|
|
|
|
|
|
|
So, list just uses the data bucket, no large contents.
|
|
|
|
|
A tag search only looksup matching tags, see #1.
|
|
|
|
|
Only a full text search and get would need to dig into the value bucket.
|
|
|
|
|
|
|
|
|
|
A delete would just delete all keys from all values and then:
|
|
|
|
|
lookup in tags bucket for all key/*, then iterate over the values and
|
|
|
|
|
remove all tag/key's. Then deleting a key would not leave any residue
|
|
|
|
|
behind.
|
|
|
|
|
|
|
|
|
|
However, maybe change the list command to just list everything and add
|
|
|
|
|
an extra find command for fulltext or tag search. Maybe still provide
|
|
|
|
|
filter options in list command but only filter for keys.
|