Commit graph

1235 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
9a2f8f737a Simplify query variable creation 2022-02-13 23:37:30 +00:00
Tobie Morgan Hitchcock
ae70844524 Simplify server setup configuration options 2022-02-13 23:34:21 +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
5e25435b9a Use custom string for geometries output 2022-02-11 01:59:02 +00:00
Tobie Morgan Hitchcock
556a3db60e Fix geometry collection parsing 2022-02-11 01:57:52 +00:00
Tobie Morgan Hitchcock
c3579b98a4 Use crates.io releases for dmp and echodb 2022-02-10 13:00:57 +00:00
Tobie Morgan Hitchcock
81164410fb Use bincode serialization for data values 2022-02-10 12:49:09 +00:00
Tobie Morgan Hitchcock
d0a0065807 Rename 'web' module to 'net' 2022-02-09 15:55:04 +00:00
Tobie Morgan Hitchcock
007ab9efbf Improve web header performance 2022-02-09 13:55:21 +00:00
Tobie Morgan Hitchcock
8cd1cfba08 Remove unnecessary public export 2022-02-09 09:27:04 +00:00
Tobie Morgan Hitchcock
6d622badc3 Check if record actually exists when selecting 2022-02-09 08:57:34 +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
a9978fdcda Enable conversion to/from Vec<u8> for record values 2022-02-09 08:50:05 +00:00
Tobie Morgan Hitchcock
811064bb05 No need to clone data when setting 2022-02-09 08:49:22 +00:00
Tobie Morgan Hitchcock
9e50db40d8 Enable setting record keys values when record is NONE 2022-02-09 08:49:08 +00:00
Tobie Morgan Hitchcock
5e0e144acb Use Value::base() as the default record value 2022-02-09 08:23:14 +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
1600360230 Fix code spacing 2022-02-06 00:46:57 +00:00
Tobie Morgan Hitchcock
c98dfc6761 Add support for CBOR and MessagePack output serialization 2022-02-05 23:06:16 +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
f4029e0689 Ensure remote record fetching works correctly 2022-02-05 09:24:39 +00:00
Tobie Morgan Hitchcock
40049aefb0 Ensure futures are processed when selecting data 2022-01-31 23:58:08 +00:00
Tobie Morgan Hitchcock
744b480f88 Add Into<Vec<u8>> and From<Vec<u8>> for storage keys 2022-01-31 23:11:06 +00:00
Tobie Morgan Hitchcock
c3cf0e5e24 Ensure object diffing works correctly when values are the same 2022-01-31 21:17:28 +00:00
Tobie Morgan Hitchcock
dc22d4e40e Process array values concurrently 2022-01-30 23:32:00 +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
6a5faf852d No need for mutable executor in tests 2022-01-29 16:20:24 +00:00
Tobie Morgan Hitchcock
76f249589a Reorder OUTPUT clause values and make NULL default 2022-01-27 11:18:41 +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
374644b9bd Improve type::thing() function
When running type::thing() with a record id the function now returns the correct record. For example type::thing("test", test:id) now returns the record test:id.
2022-01-26 13:58:39 +00:00
Tobie Morgan Hitchcock
835018d5f4 Finish implementation of executor transaction logic 2022-01-26 13:57:17 +00:00
Tobie Morgan Hitchcock
ca57df132e Ensure writable transactions work correctly 2022-01-26 13:50:38 +00:00
Tobie Morgan Hitchcock
f6f54cf4f4 Only pass immutable executor when computing values 2022-01-25 21:30:32 +00:00
Tobie Morgan Hitchcock
351ef8264a Update 3rd party dependencies 2022-01-23 15:03:37 +00:00
Tobie Morgan Hitchcock
cd26de7c3f Finish implementation of record DIFF and PATCH 2022-01-23 10:35:40 +00:00
Tobie Morgan Hitchcock
f30b953e19 Change DIFF clause to PATCH 2022-01-21 13:23:28 +00:00
Tobie Morgan Hitchcock
adff751a7e Ensure context canceller takes a reference 2022-01-21 12:51:05 +00:00
Tobie Morgan Hitchcock
3ffd194a05 Ensure CONTENT and REPLACE clauses accept only an object 2022-01-20 23:09:42 +00:00
Tobie Morgan Hitchcock
9390ae9821 Add SQL statement logging 2022-01-20 23:06:58 +00:00
Tobie Morgan Hitchcock
722f156b7d Remove unused method 2022-01-20 23:03:28 +00:00
Tobie Morgan Hitchcock
63747612e3 Return a Result from async methods on Value
Instead of silently failing, the async methods on a Value for getting, setting, and updating the value, now return a Result. This means we can chain the awaited result using the ? operator.
2022-01-20 23:02:04 +00:00
Tobie Morgan Hitchcock
c86a53502d Remove unused type 2022-01-20 20:30:54 +00:00
Tobie Morgan Hitchcock
e153c791f3 Use usize for START and LIMIT clauses 2022-01-20 20:26:28 +00:00
Tobie Morgan Hitchcock
f8848e36f5 Ensure functions can be run asynchronously 2022-01-19 14:33:55 +00:00
Tobie Morgan Hitchcock
3b5966144c Ensure errors are sent when JSON request parsing fails 2022-01-19 11:35:35 +00:00
Tobie Morgan Hitchcock
1a96bd1ed9 Add new time::group function 2022-01-18 22:23:46 +00:00