Asdine El Hrychy
613ca304f4
remove rowid
2025-09-07 23:29:43 +08:00
Asdine El Hrychy
7f32a3b9c6
fix prepared statements
2025-08-31 17:45:17 +08:00
Asdine El Hrychy
ed31e5167e
cli: display results as rows
2025-08-16 15:52:33 +08:00
Asdine El Hrychy
8bf8d5179e
table iterator
2025-08-14 14:36:56 +08:00
Asdine El Hrychy
5095097a0a
cleanup: delete assert package
2024-02-18 11:31:26 +04:00
Asdine El Hrychy
fc051f7cf9
db: only strict schemas
2024-02-17 14:27:02 +04:00
Asdine El Hrychy
21ac003166
distribute Value logic to each implementation
2024-01-20 18:47:14 +04:00
Asdine El Hrychy
9b25b6dd65
db: decouple pebble from database
2023-12-25 13:15:46 +01:00
Asdine El Hrychy
edcb91d4c5
chore: rename genji to chai
2023-12-02 11:25:56 +04:00
Asdine El Hrychy
3c9e4fca3f
chore: move packages to internal
2023-12-01 20:56:24 +04:00
Asdine El Hrychy
d981a577c0
db: introduce row type
2023-12-01 20:39:23 +04:00
Asdine El Hrychy
f94c703453
planner: add support for primary key and index ordering. fixes #469 #470
2023-11-15 20:15:09 +04:00
Asdine El Hrychy
9af605ef9f
encoding: reorganize types on 128 bits
2023-11-06 23:31:01 +04:00
Asdine El Hrychy
ce7c2a3c60
tx: lock-free catalog updates
2023-11-04 10:26:04 +04:00
Asdine El Hrychy
a74a660abb
exp: remove encryption experiment
2023-10-29 09:32:12 +04:00
Asdine El Hrychy
cb30a9109f
encryption: Add experimental support for encryption at rest
2023-01-30 15:12:38 +04:00
Asdine El Hrychy
9c5ddbfe6f
Add easy to use error functions
2022-07-14 15:17:08 +08:00
Asdine El Hrychy
a542be943b
Refactor catalog loader
2022-07-05 14:55:56 +08:00
Asdine El Hrychy
36eb6ba47a
add rollback segment
2022-06-19 17:02:51 +04:00
Asdine El Hrychy
c0c9567029
encoding: use custom encoding
2022-06-17 18:40:42 +04:00
Asdine El Hrychy
67fdb9ca6b
Add custom encoding for documents
2022-05-15 21:53:41 +04:00
Asdine El Hrychy
bbe5d8fb1a
Rework CREATE TABLE API
2022-05-12 22:54:11 +04:00
Asdine El Hrychy
f01e4aefdc
Rework kv package interface
2022-04-07 15:49:18 +04:00
Asdine El Hrychy
9187269128
Use cockroachdb errors
2022-01-22 11:37:00 +04:00
Asdine El Hrychy
65c3b29866
Delete engine interface
2022-01-16 10:31:08 +04:00
Asdine El Hrychy
65ea061ab7
Remove Bolt and Memory engines
2022-01-17 12:18:52 +04:00
Asdine El Hrychy
4f227bfaf5
Ensure all document implementations can be encoded to JSON
2021-12-22 22:32:10 +04:00
Asdine El Hrychy
da2be37a69
Replace msgpack with unique encoder for keys and values
2021-12-22 22:21:49 +04:00
Asdine El Hrychy
9a48e21ed9
Remove dead code
2021-12-06 12:00:21 +05:30
Asdine El Hrychy
8983d68daf
Support composite primary keys
2021-12-04 23:42:43 +05:30
Asdine El Hrychy
a7309a70c5
Add tree package
2021-12-04 10:51:07 +04:00
Asdine El Hrychy
0327fe9407
Normalize stream environment
2021-11-19 16:25:43 +01:00
Asdine El Hrychy
a4958fee6a
Add support for CHECK ( #436 )
2021-11-09 21:14:10 +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
4f74b22c70
Move catalog to database package
2021-08-10 22:22:17 -04: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
fa66f81fb6
Improve default value expressions
2021-07-02 18:41:33 +04:00
Asdine El Hrychy
d5401cfe5d
Decouple transaction from catalog
...
To avoid cyclic dependencies, we removed the Catalog from the
Transaction type and pass it around everywhere.
2021-07-02 15:55:58 +04:00
Asdine El Hrychy
8faceadd56
Release unused sequences when database closes
2021-06-28 23:48:11 +04:00
Asdine El Hrychy
9009753d63
Create sequence for docids ( #417 )
...
Each table with no primary key now creates a sequence to manage docids
2021-06-28 22:45:50 +04:00
Asdine El Hrychy
a180746477
Add catalog package
2021-06-26 20:35:40 +04:00
Asdine El Hrychy
af4dd490dc
Replace returns modified document
...
Since Replace might convert the incoming document
(i.e INT to DOUBLE), it is now returning the modified
document instead of the incoming one
2021-05-29 11:25:41 +04:00
Asdine El Hrychy
357adc9f31
Add ON CONFLICT DO REPLACE
...
It also adds support for SQLite notations:
- ON CONFLICT IGNORE
- ON CONFLICT REPLACE
2021-05-28 15:00:33 +04:00
Asdine El Hrychy
a861ce96a7
Trigger conflict resolution when NOT NULL constraint is violated
2021-05-28 13:56:56 +04:00
Asdine El Hrychy
7757022ea6
Add support for ON CONFLICT clause
...
By default, if there is a conflict when inserting a document,
we abort the current statement. Are considered conflicts
any error returned by duplicate primary keys or unique
constraint violations. The ON CONFLICT clause only
supports the DO NOTHING action, which returns no error.
2021-05-28 13:22:28 +04:00
Asdine El Hrychy
37ebf47ea8
Move packages under internal package
...
These packages are not part of the public API and can break at any time.
2021-05-23 11:05:41 +04:00