Tobie Morgan Hitchcock
10a76ec3a1
Inject datastore instance instead of globally instantiated instance
2022-02-17 08:04:08 +00:00
Tobie Morgan Hitchcock
b98986fa12
Remove unnecessary 'anyhow' crate
2022-02-16 23:45:23 +00:00
Tobie Morgan Hitchcock
a5c1d95a64
Add initial implementation for parallel execution
2022-02-15 03:40:01 +00:00
Tobie Morgan Hitchcock
36d114be55
Simplify module import statements
2022-02-15 03:34:57 +00:00
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
acc466c360
Remove unnecessary imports
2022-02-15 00:15:53 +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
ea67af5a29
Ensure DELETE statements WHERE clauses are processed
2022-02-14 22:20:11 +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
6715ac251b
Allow any value in CONTENT / REPLACE / MERGE clauses
2022-02-13 23:39:10 +00:00
Tobie Morgan Hitchcock
1ca5f085c5
Revert geolocation point display output format
2022-02-13 23:37:54 +00:00
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