Sayan Nandan
d43c3dc1cf
Fix storage engine tests
3 years ago
Sayan Nandan
a6fc09f990
Enable entity group based table deletion
3 years ago
Sayan Nandan
8e71ef2a01
Fix tests
3 years ago
Sayan Nandan
2f39e6808b
Enable entity group based table creation
3 years ago
Sayan Nandan
5402028b26
Add `use keyspace` and `use keyspace:table`
3 years ago
Sayan Nandan
2f7a2d546b
Add branch hints to parser
3 years ago
Sayan Nandan
6eaf580ac8
Add entity group parsing
3 years ago
Sayan Nandan
3249fcb347
Add `drop table` and `drop keyspace` queries
3 years ago
Sayan Nandan
d6e8db7d8f
Add `create table` and `create keyspace` queries
3 years ago
Sayan Nandan
c1064a7cd1
Implement and upgrade to `Corestore`
3 years ago
Sayan Nandan
a5f735e977
Add `drop table` and `drop keyspace`
3 years ago
Sayan Nandan
608e008a65
Add `create table` and `create keyspace`
3 years ago
Sayan Nandan
5bab0fb91b
Use global flush lock to coordinate disk access
3 years ago
Sayan Nandan
6e17ef6d5e
Add system keyspace and remove `_system` table
3 years ago
Sayan Nandan
16ac791ff5
Add flush methods for snapshots
3 years ago
Sayan Nandan
03518c22c3
Add corestore impl
3 years ago
Sayan Nandan
421ff19405
Use registry for handling global state
3 years ago
Sayan Nandan
0e88d76444
Simplify hints
3 years ago
Sayan Nandan
d1f6916251
Make mksnap use `action!` and simplify `IoResult`
3 years ago
Sayan Nandan
c9545a30f1
Do not panic on unknown data type
3 years ago
Sayan Nandan
327953dce0
Fix qe returning full resp packet instead of group
3 years ago
Sayan Nandan
9535975d03
Create the dir tree if the instance is new
3 years ago
Sayan Nandan
b2c0b9ecf2
Enable fixed len mutable params in `action!` macro
3 years ago
Sayan Nandan
589ef85e2c
Simplify action impls with `action!` macro
3 years ago
Sayan Nandan
66c9822f5d
Add routines to unflush an entire `Memstore`
3 years ago
Sayan Nandan
a919b1c934
Add tests for flush and unflush routines
3 years ago
Sayan Nandan
454704574b
Fix flush routines
3 years ago
Sayan Nandan
2393efb590
Encode model bytemark into `PARTMAP`
3 years ago
Sayan Nandan
610144f78e
Add unflush routines
3 years ago
Sayan Nandan
6baa61176f
Add volatility tests
3 years ago
Sayan Nandan
66b9ac27af
Write storage type into PARTMAP
...
This commit adds a storage_type segment to the PARTMAP disk file. This
contains information about the storage type of the table.
Is it volatile? Is it persistent? 8-bits were added for future
improvements.
3 years ago
Sayan Nandan
1d403c0d1a
Add flush routines
3 years ago
Sayan Nandan
e89417cbc6
Fix preload generation and add preload decoding
3 years ago
Sayan Nandan
87d79650ce
Add preload generation
3 years ago
Sayan Nandan
bca8df5863
Add methods to create directory tree
3 years ago
Sayan Nandan
058b1ef1c6
Replace ns with ks
3 years ago
Sayan Nandan
ad48e5478c
Add `Integer64BufferRaw` and use it in `resp`
3 years ago
Sayan Nandan
71ab845d02
Fix zeroed impl for `Array<T, N>`
3 years ago
Sayan Nandan
48e29b6ec6
Add `Integer32Buffer` for faster encoding/decoding
3 years ago
Sayan Nandan
5790e99a98
Fix filename generator and use LUT for 32-bit ints
3 years ago
Sayan Nandan
ca55694904
And `interface` for fs
3 years ago
Sayan Nandan
b162756f80
Avoid unnecessary referencing
...
Even though the compiler will do immediate derefs, let us be explicit.
3 years ago
Sayan Nandan
03a229104d
Fix alignment and auto static lifetime causing UB
3 years ago
Sayan Nandan
c24e83c0a7
Encode all sizes to little endian
...
This is very convenient for us and we will provide advanced byte
ordering only if our users demand for it.
3 years ago
Sayan Nandan
e1dfa12ba4
Add runtime panic check on 32-bit or lower
3 years ago
Sayan Nandan
5adc269e11
Add endian info and pointer-width check
...
When a file created by a 64-bit system is read on a 16/32 bit system,
there may be a size overflow. If so, we should do a runtime panic.
3 years ago
Sayan Nandan
74a0592fbc
Simplify transmutation
...
Also use smaller vectors for faster tests to avoid problems with
thread stack sizes on Windows.
3 years ago
Sayan Nandan
c20302ef75
Add storage module for custom encoding/decoding
3 years ago
Sayan Nandan
7c835d03b3
Add NS/KS swap headers in protocol
3 years ago
Sayan Nandan
17d1c472b6
Use proc macro for uninit array magic
...
The proc macro does some magic to give us a const array with the full
size without having to manually write it. Magic!
3 years ago
Sayan Nandan
fd3e06beda
Fix array length check assertion
3 years ago
Sayan Nandan
e5b0588cca
Fix UB due to use of from_const_array
3 years ago
Sayan Nandan
f4379d5688
Use Array[64] for NS/KS names
...
We limit the sizes of keyspaces/namespaces because very long names may
cause fs errors on some file systems.
3 years ago
Sayan Nandan
8faf653d2e
Fix ser/de for `Coremap<Array, Array>`
3 years ago
Sayan Nandan
bd679f9b79
Document `Array` and `IArray`
3 years ago
Sayan Nandan
b997afe89a
Fix push function in `Array`
3 years ago
Sayan Nandan
4a27f83e6b
Impl `Send` and `Sync` for `Array`
3 years ago
Sayan Nandan
0067b7d1b7
Implement `Array` type
...
This allows us to have fixed size arrays right on the stack
3 years ago
Sayan Nandan
5ff045bd93
Impl deserialize for `IArray`
3 years ago
Sayan Nandan
e25d13afff
Add BP optimizations
3 years ago
Sayan Nandan
036b507de8
Impl Serialize for IArray
3 years ago
Sayan Nandan
4fe7aa7050
Add manip methods to `IArray`
3 years ago
Sayan Nandan
6c00ffae3b
Add methods to add items to `IArray`
3 years ago
Sayan Nandan
3739aa54fd
Add basic `IArray` impl
3 years ago
Sayan Nandan
e3d749ac20
Add methods to drop keyspaces and tables
3 years ago
Sayan Nandan
845ef82060
Use static slices for responses
3 years ago
Sayan Nandan
26a22c3102
Add dtor tests for Lazy
3 years ago
Sayan Nandan
a7e11cc281
Add methods to create ns, ks and tables
3 years ago
Sayan Nandan
bbcbe0756b
Add basic methods to memstore
3 years ago
Sayan Nandan
7ea890765d
Correct kvengine defs and add custom `Lazy` type
3 years ago
Sayan Nandan
74126ec7cb
Add variable width characters and failure test
...
This is just for sanity
3 years ago
Sayan Nandan
013be0058b
Add emoji tests
3 years ago
Sayan Nandan
8749cfa134
Add memstore
3 years ago
Sayan Nandan
c953b88695
Add test with bincode
3 years ago
Sayan Nandan
b1383bf8c9
Add encoding evaluation in `KVEngine`
3 years ago
Sayan Nandan
a276091726
Account for perl errors
3 years ago
Sayan Nandan
5f75df7109
Add some optimizations for unicode checks
3 years ago
Sayan Nandan
ead3f62ded
Add failure cases for unicode
3 years ago
Sayan Nandan
bdfaf6ec4d
Ensure that perl doesn't error
3 years ago
Sayan Nandan
5e4cd5be4b
Use deterministic finite automaton for validation
...
A dual stream approach provides even more speed improvements
3 years ago
Sayan Nandan
8cfab3f7d3
Add convenience macros
3 years ago
Sayan Nandan
efec980fa6
Add basic `BufferBlockReader` definition
3 years ago
Sayan Nandan
bdc4b3483f
Add basic `KVEngine` definition
3 years ago
Sayan
552d454940
Enable TLS port to be configured via CLI args ( #186 )
...
* Enable TLS port to be configured via CLI
* Add changelog entry
3 years ago
Sayan Nandan
141e39eee1
Use env var to determine TLS cert location
3 years ago
Sayan
d43e6f41da
Use `QuickLock` instead of mutex ( #185 )
...
* Use our own lock instead of parking_lot::Mutex
* Account for spurious failures in cmpxchg weak
* Ignore send error because parent may have panicked
The parent thread may have already panicked, dropping the rx.
3 years ago
Sayan Nandan
3a363d18cb
Simplify artwork [skip ci]
3 years ago
Sayan
bae2b8354c
Release v0.6.3 ( #184 )
...
* Bump up version to 0.6.3
* Update changelog entry
3 years ago
Sayan
2d7b9d7667
Add automated tests for TLS ( #183 )
...
* Auto start with TLS
* Add automated tests for SSL
* Add cert generation script
* Use script to generate SSL cert
3 years ago
Sayan
864c6d461f
Enable maximum connections to be configured manually ( #182 )
...
* Enable maximum connections to be configured
* Add arbiter for handling server startup
* Add handling of maxcon for command-line args
* Add changelog entry
3 years ago
Sayan Nandan
79f657b462
Add more LLVM specific optimizations
...
Just to reduce LLVM bloat
3 years ago
Sayan
e30d51a599
Release v0.6.2 ( #180 )
...
* Bump up version and add changelog entry
* Use separate cache object for release workflows
3 years ago
Sayan Nandan
0f06f7b26f
Add some LLVM specific optims for O1 builds
3 years ago
Sayan
d53a0cb505
Fix handling of SIGTERM on *nix ( #178 )
...
* Fix handling of SIGTERM on *nix
This is just for future extensibility
* Fix error codes
I have been silly enough to break error codes
3 years ago
Sayan
66e5d41302
Simplify overall locks ( #176 )
...
* Remove the need for TableLockStateGuard
The htable impl uses locks under the hood making external locks
redundant.
* Use atomics instead of rwlock for poisoned state
* Simplify snapshot locking
3 years ago
Sayan Nandan
2a2addfa6d
Upgrade deps and add changelog entries
3 years ago
Sayan Nandan
0f1264d312
Decompose linearity tests and utils into modules
...
Also fixed license headers
3 years ago
Sayan Nandan
a87478dcba
Optimize dependencies
3 years ago
Sayan Nandan
76acde2f4f
Fix missing action argument in setkeys macro
3 years ago
Sayan Nandan
26775924ac
Add tests for pop
3 years ago