Commit graph

119 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
7bd5802e99 Remove tokio as a dependency
Closes SUR-102
2022-05-13 21:57:40 +01:00
Tobie Morgan Hitchcock
e4619be89a Implement WebSocket queries for /sql endpoint 2022-05-11 22:34:28 +01:00
Tobie Morgan Hitchcock
d29961ee19 Ensure Errors can be converted into Strings 2022-05-11 21:43:11 +01:00
Tobie Morgan Hitchcock
f5687abeab Add documentation comments to main binary package 2022-05-11 15:23:15 +01:00
Tobie Morgan Hitchcock
17e8ea55b5 Implement SQL database exporting and importing 2022-05-11 15:23:15 +01:00
Tobie Morgan Hitchcock
3498e57e04 Implement web authentication session validation 2022-05-11 15:23:15 +01:00
Tobie Morgan Hitchcock
d761a6df47 Add TLS support to SurrealDB server 2022-05-11 15:23:08 +01:00
Tobie Morgan Hitchcock
ba7c31e2dc Improve server configuration parsing and option storage 2022-05-11 15:23:08 +01:00
Tobie Morgan Hitchcock
69b18cc659 Change content length limits of http routes 2022-05-11 15:23:08 +01:00
Tobie Morgan Hitchcock
f7b82bc7bd When unset, ensure default root password in randomised 2022-05-07 16:11:19 +01:00
Tobie Morgan Hitchcock
0ff3d0f7d0 Remove auth CLI argument and use user + pass instead 2022-05-07 15:13:58 +01:00
Tobie Morgan Hitchcock
ffc3ed82f7 Simplify external API when working with Datastore 2022-05-04 00:07:46 +01:00
Tobie Morgan Hitchcock
7e2eae32c5 Ensure query auth level checks are logically correct 2022-04-01 00:36:23 +01:00
Tobie Morgan Hitchcock
b3c4f982ec Fix clippy lint errors 2022-03-25 20:31:45 +00:00
Tobie Morgan Hitchcock
7e4bf91a48 Forbid all usage of unsafe code 2022-03-23 15:12:29 +00:00
Tobie Morgan Hitchcock
2a0d46a2b6 Remove unused macros 2022-03-07 18:14:42 +00:00
Tobie Morgan Hitchcock
d1c2daaee4 Apply cargo clippy lint recommendations 2022-03-05 14:42:58 +00:00
Tobie Morgan Hitchcock
d5c53b7791 Extract core surrealdb code into separate library 2022-02-22 14:16:50 +00:00
Tobie Morgan Hitchcock
12aea63928 Use trice instead of std::time for performance measurement 2022-02-19 23:30:43 +00:00
Tobie Morgan Hitchcock
222e417c79 Change method argument names 2022-02-19 23:09:23 +00:00
Tobie Morgan Hitchcock
8a08de951e Ensure session auth data is passed to executor options 2022-02-18 19:09:00 +00:00
Tobie Morgan Hitchcock
691d6ac895 Move byte formatting macro to macro module 2022-02-17 08:05:25 +00:00
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
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