Commit graph

28 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
f22352aee6 Switch to asynchronous owned mutex locks in underlying kv storage 2022-02-15 03:33:16 +00:00
Tobie Morgan Hitchcock
efa67bb043 Only pass transaction when processing queries
Instead of passing the executor instance, we only need to pass the current transaction which is to be used for processing and running any queries.
2022-02-15 01:05:39 +00:00
Tobie Morgan Hitchcock
113d02cbfc Add functionality to extract a single query response 2022-02-14 23:21:12 +00:00
Tobie Morgan Hitchcock
5f3c5b8e73 Replace xid with nanoid for record ID generation 2022-02-14 10:19:18 +00:00
Tobie Morgan Hitchcock
fbd924fbac Use copy-on-write semantics for document values
Instead of blindly cloning document values (even if we don't need to mutate them), we now use copy-on-write semantics to only create a copy if we need to update a document value. This improves performance, especially when selecting documents.
2022-02-13 19:03:00 +00:00
Tobie Morgan Hitchcock
8cd1cfba08 Remove unnecessary public export 2022-02-09 09:27:04 +00:00
Tobie Morgan Hitchcock
9d957849b0 Dont cancel iterator when recieving an Ignore error 2022-02-09 08:53:47 +00:00
Tobie Morgan Hitchcock
be7f22e35b Don't store selected NS and DB on executor 2022-02-08 14:50:45 +00:00
Tobie Morgan Hitchcock
49a62aaba5 Add initial iterator blueprint implementation 2022-02-06 01:14:56 +00:00
Tobie Morgan Hitchcock
b419a36384 Add initial blueprint code for SQL export functionality 2022-02-05 09:56:03 +00:00
Tobie Morgan Hitchcock
89867e9bfb Remove unused constant 2022-01-30 19:31:48 +00:00
Tobie Morgan Hitchcock
da811b29bd Allow upper or lower case in OPTION statements 2022-01-30 18:59:12 +00:00
Tobie Morgan Hitchcock
0f4f07d5d3 Improve error message when transaction is cancelled 2022-01-27 08:25:05 +00:00
Tobie Morgan Hitchcock
ff5a5fd346 Implement SQL query debugging in response output 2022-01-27 08:21:04 +00:00
Tobie Morgan Hitchcock
92e24e2201 Buffer responses in a transaction
When running in a transaction, results are now buffered, and are output on COMMIT or CANCEL. If any error has occured, then all of the responses will be marked as failed.
2022-01-27 08:15:20 +00:00
Tobie Morgan Hitchcock
835018d5f4 Finish implementation of executor transaction logic 2022-01-26 13:57:17 +00:00
Tobie Morgan Hitchcock
f6f54cf4f4 Only pass immutable executor when computing values 2022-01-25 21:30:32 +00:00
Tobie Morgan Hitchcock
9390ae9821 Add SQL statement logging 2022-01-20 23:06:58 +00:00
Tobie Morgan Hitchcock
e153c791f3 Use usize for START and LIMIT clauses 2022-01-20 20:26:28 +00:00
Tobie Morgan Hitchcock
67d6289d0e Attach request variables to query executor context 2022-01-14 08:31:14 +00:00
Tobie Morgan Hitchcock
3126251a65 Convert all processing code to async 2022-01-14 08:12:56 +00:00
Tobie Morgan Hitchcock
6e031110bb Large update to code to convert Golang to Rust 2022-01-13 17:37:38 +00:00
Tobie Morgan Hitchcock
9e62e8f367 Add initial iterator blueprint implementation 2022-01-13 07:31:21 +00:00
Tobie Morgan Hitchcock
c51e60e706 Add query session and authentication logic 2022-01-13 07:31:02 +00:00
Tobie Morgan Hitchcock
b196f16f68 Remove unused fields from database Response struct 2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
5b58c5fa0e Convert Parent to Runtime for query variable storage 2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
5d57c105b9 Continue with initial code 2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
dfcfb32903 Add initial code 2021-12-14 10:24:54 +00:00