Commit Graph

12 Commits

Author SHA1 Message Date
Asdine El Hrychy
2d4df658e4 Treat all NULL values differently in UNIQUE indexes
SQL standard can be interpreted differently:
either NULL values are all unique (SQLite, PostgreSQL, ... and now Genji)
or they are considered equal (SQL Server, ...).
2021-12-13 09:32:22 +05:30
Asdine El Hrychy
a7309a70c5 Add tree package 2021-12-04 10:51:07 +04:00
Jean Hadrien Chabran
4a6e68439a Refactor to handle errors with internal/errors (#432)
All new error handling code now rely on internal/errors package
which provides a compilation time toggle that enables to capture
stacktraces for easier debugging while developing.

It also comes with a new testutil/assert package which replaces the require
package when it comes to checking or comparing errors and printing the
stack traces if needed.

Finally, the test target of the Makefile uses the debug build tag by default. 
A testnodebug target is also provided for convenience and to make sure no
tests are broken due to not having used the internal/errors or testutil/assert package.

See #431 for more details
2021-08-22 11:47:54 +03:00
Asdine El Hrychy
f966172cee Introduce Value interface (#422)
This replaces the Value struct by an interface to allow us to override some
values behavior in the future.
It also introduces a new package types, which contains type definitions, comparison,
and arithmetics.
Concerning encoding, Genji now only uses on type of encoding for values. This simplifies
indexing logic as well as table access in general.
2021-07-21 22:05:44 +04:00
Asdine El Hrychy
d491594b2a Small performance improvements (#409)
The codec interface has been modified to allow the reuse of buffers when decoding
documents one by one from a table.

Memory consumption has been reduced drastically (-60%) and iteration speed has been improved by 20%
2021-06-05 22:06:39 +04:00
Asdine El Hrychy
ade8778b03 Remove MarshalJSON from codec 2021-04-01 23:09:40 +04:00
Asdine El Hrychy
aa68a5c314 Improve test 2021-03-14 10:13:31 +04:00
Asdine El Hrychy
7bce05780a Improve encoding coverage 2020-11-28 21:01:30 +04:00
Asdine El Hrychy
dfdbc16b18 Drop duration type 2020-09-28 22:44:32 +04:00
Asdine El Hrychy
450d6077e1 Use third party json parser 2020-09-26 13:03:50 +04:00
Asdine El Hrychy
730c8ede70 Move msgpack tests to encodingtest package 2020-09-05 10:41:41 +04:00
Asdine El Hrychy
4af4993d88 Write a basic test suite 2020-09-05 10:41:41 +04:00