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
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
Tobie Morgan Hitchcock
b29db4d999
Improve error passing in SQL parser
2022-01-17 09:00:23 +00:00
Tobie Morgan Hitchcock
8b28a8e5f2
Remove unnecessary functions for parsing Tables
2022-01-15 22:13:32 +00:00
Tobie Morgan Hitchcock
f202bd5ab4
Improve SQL parsing errors
2022-01-15 09:51:57 +00:00
Tobie Morgan Hitchcock
91c53e4188
Improve empty query errors
2022-01-14 22:35:44 +00:00
Tobie Morgan Hitchcock
4eca618b77
Add failure recovery to web package
2022-01-14 17:13:44 +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
db9960fcbe
Ensure wasm library builds correctly
2022-01-13 17:53:30 +00:00
Tobie Morgan Hitchcock
87e1b38f02
Add initial key-value storage key implementation
2022-01-13 17:40:20 +00:00
Tobie Morgan Hitchcock
ff6a41326a
Add base library file for wasm build
2022-01-13 17:39:17 +00:00
Tobie Morgan Hitchcock
f3de9095ae
Add further SQL function implementations
2022-01-13 17:37:46 +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
4f4793975e
Add initial kvs backend storage code
2022-01-13 17:35:48 +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
9e5e6efa6d
Add document package blueprint
2022-01-13 07:00:50 +00:00
Tobie Morgan Hitchcock
e89ebb2c79
Use Strings in context values map
2022-01-13 06:58:08 +00:00
Tobie Morgan Hitchcock
f02e12c63a
Add ability to convert context errors to generic errors
2022-01-13 06:57:46 +00:00
Tobie Morgan Hitchcock
643344151b
Verify database path parameter on command-line
2022-01-13 06:56:24 +00:00
Tobie Morgan Hitchcock
469de77609
Enlarge web body input size from 1KiB to 1MiB
2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
74d8a36056
Improve string parsing and allow escaped characters
2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
203b85e6d2
Ensure <cast> functions only operate on a single expression
2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
a67bbace36
Ensure subquery parsing works correctly
2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
11df879fc0
Ensure operator parsing works correctly
2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
ba60c4437f
Improve regex parsing and allow ‘/‘ characters
2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
1f9cad9431
Ensure arrays and objects serialize correctly
2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
9ae2cc7cd1
Implement contains operator functionality
2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
bf9ceaf693
Output complex SQL operators as text not symbols
2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
92e9f17ade
Add exactly equal operator (==)
2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
70dfe88dff
Add additional geo functions
2021-12-14 10:24:54 +00:00
Tobie Morgan Hitchcock
1324fed1b3
Ensure polygon has at least 1 geographical point
2021-12-14 10:24:54 +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
7768e85145
Enable embedded paths in param names
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