1424 Commits (9bc3d85b1c56d1e7a21f9edec65efdd19c22100b)
 

Author SHA1 Message Date
Sayan Nandan 55457cf097 Add DDL support for listmaps 3 years ago
Sayan Nandan 0e0dd5fcce Update actiondoc and contributing docs [skip ci]
See skytable/docs#20 and skytable/docs#19 for more info.
3 years ago
Sayan Nandan 47ace776a4 Fix tests 3 years ago
Sayan Nandan 4e68c4bd49 Add listmap se/de support in storage engine 3 years ago
Sayan Nandan 0ee5f69d50 Add basic listmap support 3 years ago
Sayan Nandan cdbe1a81eb Add more listmap corruption tests 3 years ago
Sayan Nandan ff59627e95 Add encoding tests for mutating KVE actions 3 years ago
Sayan Nandan 8c95ef0049 Upgrade deps 3 years ago
Zhangyuan Nie a56968b017
Update docs [skip ci] (#217) 3 years ago
Sayan Nandan 3e4bc1e6fc Add remove method 3 years ago
Sayan Nandan ef3e617147 Add basic listmap definition 3 years ago
Sayan Nandan 2c2e5f0ea6 Add listmap bytemarks 3 years ago
Sayan Nandan 234623a0cc Add corruption tests 3 years ago
Sayan Nandan c560cc68d8 Add multi-element listmap tests 3 years ago
Sayan Nandan b8c8cda1d6 Add tests for list-based maps 3 years ago
Sayan Nandan 21157b2797 Use `RawSliceIter` and `RawSliceIterBorrowed`
These iterators (if you'd call them) provide safe abstractions over raw
pointers, enabling us to easily use them in the storage engine, reducing
verbosity and redundancy.
3 years ago
Sayan Nandan a430afe743 Add s390x testing 3 years ago
Sayan Nandan ad403421d4 Fix storage engine bug for zero-sized map entries
gt was applicable here instead of ge, since for zero-sized elements, we
may have already reached the end of allocation.
3 years ago
Sayan Nandan 7dc17a0757 Fix de of empty lists or zero-sized elements 3 years ago
Sayan Nandan 6ad2793e76 Deconstruct se/de methods for lists 3 years ago
Sayan Nandan 08b7b7b821 Add list deserialization 3 years ago
Sayan Nandan 026cddaaaf Use binary strings for benchtool 3 years ago
Sayan Nandan 05545d8ed7 Add ran_bytes and random byte vector generation 3 years ago
Sayan Nandan 2154fba359 Add `raw_serialize_list` for list based maps 3 years ago
Sayan Nandan a1ea9c3111 Upgrade deps and document parser 3 years ago
Glydr 8f680b6d2a
Merge pull request #213 from skytable/protocol/optimize-skyhash
Optimize the Skyhash implementation
3 years ago
Sayan Nandan 1dfaa0e4a0 Switch to using `next_unchecked` 3 years ago
Sayan Nandan 831d84d65e Fix forwarding of buffer before query execution
This has the ability to introduce UB because advancing the cursor might
invalidate the source pointers obtained by `protocol::Parser::parse()`
That's why we only forward the cursor after the query has been
executed. This is absolutely fine because even if another query
packet has been buffered, we will only forward by the amount we read
and not anything more.
3 years ago
Sayan Nandan f1cf7e8796 Reduce `memcpy`s in Skyhash protocol impl
This commit does an extreme amount of `unsafe` work to reduce the amount
of data that is copied around. Previously, we:
1. Copied in from the buffer
2. Copied again when we did a ptr::read

This changes that to:
1. Zero-copies for operations that can operate on borrowed values
(i.e values by ref like GET, KEYLEN, ..)
2. One copy for operations that need owned values

Overall, this may not immediately seem beneficial for small queries
(afterall, computer memory is very fast), but for large keys -- this can
make a very significant difference. However, a big difference can be noticed
in memory usage under heavy load (with as much as a tenfold drop in some
cases).

But to make this possible, we have to break free from Rust's borrowing
rules as we can't normally pass around refs easily. So, we just turn
everything into raw pointers and operate on them directly. This is why
we introduce a significant amount of unsafe code.
3 years ago
Sayan Nandan a34d7b11a6 Use `Query` to reduce mem usage and simplify impl
Also fixed an incorrect value for read_exact in the testkeys impl
3 years ago
Sayan 111d50b75e
Release v0.7.0 (#210)
* Simplify query gen in sky-bench and bump versions

* Upgrade to the latest driver version
3 years ago
Sayan Nandan cdc33b349e Fix wrong arg length being silently ignored
Where actions were supposed to report an action error, they silently ran
their significant part, ignoring the rest. This was fixed in:
- `DROP TABLE`
- `INSPECT KEYSPACES`
- `INSPECT KEYSPACE <ksid>`
- `INSPECT TABLE <entity>`
- `USE <entity>`

Tests for the same were added
3 years ago
Sayan Nandan 4ef28ea7e8 Upgrade deps 3 years ago
Sayan Nandan 76e0cf607c Switch `MPOP` to returning a `Typed Array`
This makes its behavior similar to that of the other mutating actions.
3 years ago
Sayan Nandan d744eaa2f6 Fix `HEYA` impl and add `HEYA` actiondoc
Also added heya echo test
3 years ago
Sayan Nandan 687ee0cb4c Switch `DEFAULT_REPEAT` to 5 iters
Also updated changelog
3 years ago
Sayan Nandan 2160ae37cf Add migration tool
Closes #200
3 years ago
Sayan Nandan e55bf528be Fix `testkey` impl in sky-bench 3 years ago
Sayan Nandan c45bfd03c8 Fix critical bug in flush routine
When a new instance is created, we need to:
1. Create the tree
This ONLY creates the directories
2. Create the PRELOAD
This is critical because this is our check for a new instance
3. Flush the tables
This is important because we have never flushed the tables/ks before.
If we don't do this -- the server would fail to start with a
`directory not found` error.
3 years ago
Sayan Nandan 5e9c806193 Fix doc rebuild workflow 3 years ago
Sayan Nandan 18e8f74f0a Add new actiondoc
Also moved actiondoc rebuild to separate workflow
3 years ago
Sayan Nandan 3bd34ae5c9 Merge branch 'model/tsymbol' into next 3 years ago
Sayan Nandan d7ac4ebe56 Fix inspect tests 3 years ago
Sayan Nandan e91b070216 Add printing for flat arrays in skysh 3 years ago
Sayan Nandan a24e03da60 Use `TypedArray`s in inspect commands 3 years ago
Sayan Nandan 313a7c1279 Improve runner output 3 years ago
Sayan Nandan 113af87f11 Fix sky-bench 3 years ago
Sayan 596b593526
Fix detection of invalid container name (#207)
* Fix parser allowing `$` in container name

* Fix query engine tests
3 years ago
Sayan Nandan 95504a8be6 Fix `FlatArrayWriter` impl and `mpop` tests
Update driver version
3 years ago
Sayan Nandan 2ed3335a1e Upgrade all interfaces to use the latest driver
Fix lskeys impl
3 years ago