Sayan Nandan
441676ee13
Improve docs for background services
4 years ago
Sayan Nandan
62fe32f723
Enable automated snapshots
4 years ago
Sayan Nandan
9828c88a4f
Simplify `CoreDB::run_bgsave` to return a `bool`
4 years ago
Sayan Nandan
89ad505a52
Simplify the `BGSave` object by making it an enum
4 years ago
Sayan Nandan
aa4714bded
Enable snapshots to be configured
...
The snapshots section in the config file can now be parsed
4 years ago
Sayan Nandan
b30e71354d
Enable all snapshots to be kept by user preference
...
There can be use cases where the user wants to keep all the snapshots
This commit adds a way to keep all the snapshots, by setting maxtop to 0
When `maxtop` is set to 0, all the snapshots will be kept
4 years ago
Sayan Nandan
98752cf481
Add method to get a deep-clone of the `HashMap`
4 years ago
Sayan Nandan
4c4586c9c1
Re-implement snapshots and add tests
4 years ago
Sayan Nandan
66a447640b
Release read lock immediately
...
This helps us to avoid writer starvation
4 years ago
Sayan Nandan
a527f3c39d
Implement `mksnap` so that snapshots can be made
4 years ago
Sayan Nandan
6ead5ebe6c
Rollout v0.4.4
4 years ago
Sayan Nandan
8e429c17f4
Add basic `Snapshot` object
4 years ago
Sayan Nandan
f9672558d3
Update project metadata and add tests for `KEYLEN`
4 years ago
Sayan Nandan
0a72ea60ed
Add `KEYLEN` query
4 years ago
Sayan Nandan
9e6b455231
Document responses
4 years ago
Sayan Nandan
53f4d00e30
Add tests for `USET`
4 years ago
Sayan Nandan
26a1c4f92d
Add `USET` to actions doc
4 years ago
Sayan Nandan
09a15fd35c
Add `USET` query
4 years ago
Sayan Nandan
e6250ae68a
Rollout v0.4.3
4 years ago
Sayan Nandan
d2284834c7
Add `FLUSHDB` query
4 years ago
Sayan Nandan
31146f9908
Impl `Writable` for `u64` and remove redundancies
4 years ago
Sayan Nandan
f6be0cd781
Bump up version
4 years ago
Sayan Nandan
07195a1d9e
Add `DBSIZE` query
4 years ago
Sayan Nandan
05ed0261ed
Add tests for pipelined queries
4 years ago
Sayan Nandan
a2b25441f1
Add tests for `SDEL`
4 years ago
Sayan Nandan
2d5b40f41f
Add tests for `SSET`
4 years ago
Sayan Nandan
8b881d9dbd
Add tests for `SUPDATE`
4 years ago
Sayan Nandan
20041e41a4
Add `SUPDATE` query
4 years ago
Sayan Nandan
3dbc2bce40
Add `SSET` and `SDEL` for automated doc generation
4 years ago
Sayan Nandan
f6f96c10c2
Add `SDEL` query
4 years ago
Sayan Nandan
01f43bcd88
Add `SSET` to `queryengine`
...
The `SSET` tag was added under tags and matched against
4 years ago
Sayan Nandan
c9aa602542
Add `SSET` query
4 years ago
Sayan Nandan
adb4e4b9f6
Add `strong` module
4 years ago
Sayan Nandan
1488a7786b
Add information on the Cyan Snapstore format
...
Also, `CyanSWF` was renamed to `CyanSFW` for consistency
4 years ago
Sayan Nandan
b96a7831a2
Add `CyanSWF`, the streaming file writer object
4 years ago
Sayan Nandan
ed6e990572
Fix incorrect versions
...
A mass rename was done in 1ac8dd8
This action incorrectly replaced versions in deps
This commit reverts the changes made to the dependency versions
4 years ago
Sayan Nandan
1ac8dd896a
Rollout v0.4.2
4 years ago
Sayan Nandan
b2a5237191
Bump up version
4 years ago
Sayan Nandan
a0ccf059de
Make `every` and `enabled` keys in bgsave optional
...
If there is no `enabled` key, then assume that BGSAVE is enabled
If there is an `every` and no `enabled`, assume that BGSAVE is enabled
4 years ago
Sayan Nandan
74c9d62fe0
Update docs for the `bgsave_scheduler`
4 years ago
Sayan Nandan
511e227f81
Enable BGSAVE to be configured via config file
4 years ago
Sayan Nandan
3a84feb14e
Cleanup to use `BGSave` as a configuration object
...
Also a test for a config file with a custom BGSAVE has been added
4 years ago
Sayan Nandan
f2f0d2d4bd
Enable bgsave config to be read from the cfg file
...
Now, the `bgsave` key can be read and parsed from the config file
4 years ago
Sayan Nandan
20d0b3bf1f
Revert to using vector based tests
...
A custom testing macro would be made in the future.
For now, we will use the `QueryVec` based test to test the queries
4 years ago
Sayan Nandan
b3500ee3b9
Use jemalloc for non-MSVC targets
4 years ago
Sayan Nandan
d366f887a9
Close transport once every test is over
4 years ago
Sayan Nandan
d1a04bdf23
Manually drop server in tests
4 years ago
Sayan Nandan
7dcf8b92d7
Enable tests for all queries
4 years ago
Sayan Nandan
3ad2d573a0
Add tests for mupdate
4 years ago
Sayan Nandan
7574e4bc58
Add tests for exists
4 years ago
Sayan Nandan
ffaa1a563b
Add tests for mset
4 years ago
Sayan Nandan
42a8d145a1
Fix mset and mupdate not detecting an action error
4 years ago
Sayan Nandan
f8a1980898
Add tests for mget
4 years ago
Sayan Nandan
d8c385bf2d
Add tests for del
4 years ago
Sayan Nandan
ea8d9d2108
Add syntax error tests for get, set and update
4 years ago
Sayan Nandan
cab2ce733b
Add tests for heya, get, set and update queries
4 years ago
Sayan Nandan
096a0c901b
Remove unused functions and duplicates
...
`proc_query` is used by both by `tdb-bench` and `tsh` so it was moved.
Also, the `println`s in the query tests were moved into the macros
4 years ago
Sayan Nandan
9064c0aca3
Enable tests for `get`, `mget` and `heya`
4 years ago
Sayan
aeb5899050
Fix test in `server::config`
...
We're checking from a TOML `String` and not from a location
4 years ago
Sayan Nandan
59a2b42615
Implement logging
4 years ago
Sayan Nandan
432e19dd71
Make docker build use `latest` tag
4 years ago
Sayan Nandan
fc274ff95f
Improve docs in server
4 years ago
Sayan Nandan
40fea56801
Make some `fn`s `const`
4 years ago
Sayan Nandan
fb38acd392
Implement BGSAVE
4 years ago
Sayan
ae5da090ec
Don't ignore `heya` test
4 years ago
Sayan Nandan
85662e1f83
Enable tsh to connect to different ports
4 years ago
Sayan Nandan
f69bef7308
Improve terminal output and bump up version
...
We will show a syntax error when we get an invalid config file.
4 years ago
Sayan Nandan
c26a319877
Bump up version
4 years ago
Sayan Nandan
b06dedc8bd
Enable configuration files to be used
4 years ago
Sayan Nandan
340eaaebcb
Add support for IPv6 addressing
4 years ago
Sayan Nandan
914b1f06e3
Added port, host and noart options in config file
4 years ago
Sayan Nandan
86d15120e4
Add methods to parse cli arguments
4 years ago
Sayan Nandan
0690be4d4e
Add module to handle configuration files
4 years ago
Sayan Nandan
308e57c846
Add `BuiltJSON` and `JSONBlob` objs to build JSON
4 years ago
Sayan Nandan
3163b6a0e8
Add outline for `jget`
4 years ago
Sayan Nandan
6ad417e7ce
Bump up version to 0.4.0
4 years ago
Sayan Nandan
e23cd5ffcd
Update version and labels
4 years ago
Sayan Nandan
00730ee9d4
Fix wrong length in pre-compiled responses
...
Length of "Unknown action" should be 14 and not 15
4 years ago
Sayan Nandan
e0baf0ac8d
Classify `fresp`s and `group`s
4 years ago
Sayan Nandan
d8408a45cd
Bump up version
4 years ago
Sayan Nandan
eee6ddbd45
Fix precompiled responses
4 years ago
Sayan Nandan
b9d059b510
Advance the buffer instead of clearing it
4 years ago
Sayan Nandan
faa0a1386b
Fix size check operator in read_query
4 years ago
Sayan Nandan
6b2d603618
Fix buffer not being flushed
4 years ago
Sayan Nandan
faaaf79bd8
Make `exists` return the number of keys that exist
4 years ago
Sayan Nandan
a5d121c767
Make `update` accept single key/value pairs only
4 years ago
Sayan Nandan
167a9dcaab
Add `mupdate` query
4 years ago
Sayan Nandan
5bc7a60c06
Make `del` return the number of keys deleted
4 years ago
Sayan Nandan
f214d38e4a
Make `mset` return the number of keys set
4 years ago
Sayan Nandan
de1e8e9e87
Fix parser tests
4 years ago
Sayan Nandan
e49df70aef
Update license headers
4 years ago
Sayan Nandan
43f9bc83f7
Fix buffer being advanced to a pos larger than len
4 years ago
Sayan Nandan
96a29d6b6c
Fix all data in the buffer being discarded
4 years ago
Sayan Nandan
f80911e4c1
Added `MGET` and `MSET` queries
4 years ago
Sayan Nandan
bbd94e50ba
Fix `proc_query` in `cli` generating wrong length
4 years ago
Sayan Nandan
2e4e9f662a
Fix parsing of sizes greater than 9
4 years ago
Sayan Nandan
c5c9709e9b
Upgrade `cli` to use the new protocol
4 years ago
Sayan Nandan
819a6030b0
Use timeout for the background thread to start
4 years ago
Sayan Nandan
a29831d7ab
Improve testing
4 years ago
Sayan Nandan
12634858c0
Add automated tests for `get` queries
4 years ago
Sayan Nandan
004c6d0e21
Add automated test for `heya` queries
4 years ago
Sayan Nandan
8446b3ffae
Enable actions to be executed in `queryengine`
4 years ago
Sayan Nandan
b15fda9d65
Upgrade `set` and `update` to use the new protocol
4 years ago
Sayan Nandan
e65ee21f82
Upgrade `get` to the new protocol
4 years ago
Sayan Nandan
c6f2504b30
Fix comment for the `Writable` trait
4 years ago
Sayan Nandan
f9d5b94d31
Upgrade `del` and `exists` to use the new protocol
4 years ago
Sayan Nandan
77db07ae63
Remove `VecWrapper` as we can use a `Vec<u8>`
4 years ago
Sayan Nandan
cef28375c0
Impl Writable for `BytesWrapper` and `VecWrapper`
4 years ago
Sayan Nandan
6aee3bf5f4
Remove `libtdb` deps from `server`
4 years ago
Sayan Nandan
a0ea3b6c61
Upgrade server::protocol to the new protocol
4 years ago
Sayan Nandan
59c41407b0
Fix terminal art
4 years ago
Sayan Nandan
67dc83764a
Rename `corelib` to `libtdb`
4 years ago
Sayan Nandan
085a71dc3d
Add more tests to the parser
4 years ago
Sayan Nandan
b641e9bf52
Add terrapipe `parser_v2`
4 years ago
Sayan Nandan
d41c7c2145
Upgrade `exists` to use `ExceptFor`
4 years ago
Sayan Nandan
fb3fc5d2f1
Upgrade `del` to use `ExceptFor`
4 years ago
Sayan Nandan
fc3e760c9a
Stabilize "Except" response type impl
4 years ago
Sayan Nandan
817eb92661
Refactor into kvengine
4 years ago
Sayan Nandan
c58c5eec71
Fix wrong error being returned in the query engine
4 years ago
Sayan Nandan
810375a9b1
Add support for multiple keys in actions
4 years ago
Sayan Nandan
a8285167a8
Loop until we successfully save the data to disk
4 years ago
Sayan Nandan
b8406dfb73
Fix missing LF in trait impl for RespCode
4 years ago
Sayan Nandan
c260595bba
Avoid using `concat` to avoid clones
4 years ago
Sayan Nandan
8688718cb2
Explicitly specify `Self` to be `Sync`
4 years ago
Sayan Nandan
498b561764
Implement `Writable` for `Response`
4 years ago
Sayan Nandan
ba4c7cec09
Add `Writable` trait definition
4 years ago
Sayan Nandan
b302a16c1c
Add "Except" response type
4 years ago
Sayan Nandan
ffce96a3a6
Add elementary multi-update module
4 years ago
Sayan Nandan
bad7b0999d
Update response codes
4 years ago
Sayan Nandan
2544e28e80
Use the `Response` type alias to avoid clones
...
Also docs were updated to reflect changes in Navigator.
`Action` was renamed to `DataGroup`
4 years ago
Sayan Nandan
61ab89effb
Remove cursor in favor of index based navigator
4 years ago
Sayan Nandan
842700b753
Add elementary multi-set module
4 years ago
Sayan Nandan
617c76719b
Add elementary impl for multi-get
4 years ago
Sayan Nandan
9d5e61277c
Fix query parsing tests in server
4 years ago
Sayan Nandan
6844de1f0b
Fix client-side parser in cli
4 years ago
Sayan Nandan
f536ebb9aa
Upgrade to use new protocol
4 years ago
Sayan Nandan
bf17238036
Add advisory locking for POSIX
4 years ago
Sayan Nandan
fef56cba58
Add record-level file locking
4 years ago
Sayan Nandan
689345cc90
Add tdb-bench to bundle
4 years ago
Sayan Nandan
6f3fea8ebc
Improve command line output
4 years ago
Sayan Nandan
1eaed63fe6
Add 'EXISTS' query
4 years ago
Sayan Nandan
619e96fd95
Add diskstore module
4 years ago
Sayan Nandan
9a4dfd2ebc
Upgrade client to use new corelib modules
4 years ago
Sayan Nandan
ad3b854562
Improve error message output
4 years ago
Sayan Nandan
76886c13f9
Refactor into modules (server)
4 years ago
Sayan Nandan
7919f5b40e
Add worker-based bench tool
4 years ago
Sayan Nandan
e2fba6e6f4
Elide bound checks
4 years ago
Sayan Nandan
12597ce250
Add generic benchmarking module
4 years ago
Sayan Nandan
14e6f43893
Fix connection reset on disconnection
4 years ago
Sayan Nandan
730ff3fa41
Move and document deserializer module
4 years ago
Sayan Nandan
6dc4dfdde9
Implement efficient read buffering
4 years ago
Sayan Nandan
b2d1ed1ca3
Improve query parsing
4 years ago
Sayan Nandan
851b6fd43c
Move to using buffer
...
Something is wrong with reading the frame sizes, this should be fixed
4 years ago
Sayan Nandan
d926e35e22
Use a different R/W lock implementation
4 years ago
Sayan Nandan
16945337fa
Implement persistent storage
4 years ago
Sayan Nandan
68faa43e66
Misc changes to docs
4 years ago
Sayan Nandan
37d4b808e1
Add docs
4 years ago
Sayan Nandan
dd1d42fae0
Fix panic on closing tcpstream
4 years ago
Sayan Nandan
59046db8f8
Implement client
4 years ago
Sayan Nandan
0f1dde109b
Implement client
...
However, the client has some propagation errors
4 years ago
Sayan Nandan
35a86c96ac
Implement graceful shutdown
4 years ago
Sayan Nandan
755e8d80f4
Add a connection abstraction
...
Also enabled safe dropping of the `Coretable`
4 years ago
Sayan Nandan
40d148624d
Implement basic query parsing
4 years ago
Sayan Nandan
2b1e92fb17
Implement SimpleResponse
4 years ago
Sayan Nandan
6781468519
Implement new terrapipe spec and implement coredb
4 years ago
Sayan Nandan
8613ddb694
Add function to check tokens in dataframe
4 years ago
Sayan Nandan
ab24e6588f
Reimplement terrapipe metaframe
4 years ago
Sayan Nandan
7434071509
Implement basic client
4 years ago
Sayan Nandan
a78e54b215
Make error responses static
4 years ago
Sayan Nandan
0edaf27bd3
Implement basic coredb
4 years ago
Sayan Nandan
520bcbc95c
Implement async I/O
4 years ago
Sayan Nandan
59dd4a778d
Implement single-threaded server
4 years ago
Sayan Nandan
ed1815422d
Refactor project and add terrapipe spec
4 years ago