Tobie Morgan Hitchcock
c0d851751b
Ensure NS+DB values are required on import
CLI command
2022-07-29 10:36:49 +01:00
Tobie Morgan Hitchcock
f46acec96f
Ensure error is returned when NS/DB header are not present
2022-07-29 10:35:15 +01:00
Tobie Morgan Hitchcock
2646ea119e
Temporarily disable HTTP response compression
...
Disable response compression until `Accept-Encoding` headers are properly evaluated, and the compression can be chosen based on the HTTP request. This relies on https://github.com/seanmonstar/warp/pull/513 being implemented.
2022-07-29 10:33:49 +01:00
Tobie Morgan Hitchcock
d619633340
Enable new database strict mode configuration
2022-07-27 18:20:04 +01:00
Tobie Morgan Hitchcock
7777e3bccd
Log a message on startup with root authentication info
...
Closes #11
2022-07-24 01:15:26 +01:00
Tobie Morgan Hitchcock
960a5a768b
Disable root authentication when no password is set
...
Closes #10
2022-07-24 01:15:26 +01:00
Tobie Morgan Hitchcock
db2208a33a
Store all macros in a separate module
2022-07-24 01:15:26 +01:00
Tobie Morgan Hitchcock
428fcf697a
Ensure CORS headers are set on failed HTTP responses
...
Closes #6
2022-07-24 01:15:26 +01:00
Tobie Morgan Hitchcock
05cf6960c2
Set correct description for ‘—log’ command argument
2022-07-19 23:27:06 +01:00
Tobie Morgan Hitchcock
e1c6245151
Use new ‘—log’ command argument to specify server log level
2022-07-19 13:39:35 +01:00
Tobie Morgan Hitchcock
91b8baff3d
Set default logging level for import/export/backup commands
2022-07-19 12:58:19 +01:00
Tobie Morgan Hitchcock
7860a205db
Use configuration constants in version cli command
2022-07-19 12:54:50 +01:00
Tobie Morgan Hitchcock
a2619a8d72
Don’t show default random password in command-line help
2022-07-19 12:29:43 +01:00
Tobie Morgan Hitchcock
81bad3211d
Improve command-line logging
2022-07-19 09:28:24 +01:00
Tobie Morgan Hitchcock
4468e10bd1
Change the default port to 8000
2022-07-18 18:49:43 +01:00
Tobie Morgan Hitchcock
d425f67a8b
Allow NULL and missing values in RPC query method
2022-07-08 21:56:04 +01:00
Tobie Morgan Hitchcock
11a3911f70
Add RPC let’ command as a duplicate of ‘set’ command
2022-07-08 21:55:44 +01:00
Tobie Morgan Hitchcock
3c7bd098f3
Enable concurrent requests in WebSocket RPC Server
2022-07-07 11:25:22 +01:00
Tobie Morgan Hitchcock
4438415b55
Fix error in RPC Modify method query
2022-07-07 11:22:41 +01:00
Tobie Morgan Hitchcock
508538e0cc
Add initial WebSocket JSON RPC implementation
2022-07-04 02:32:26 +01:00
Tobie Morgan Hitchcock
410295c800
Improve map! macro to allow extending the map with other map
2022-07-04 02:02:03 +01:00
Tobie Morgan Hitchcock
983a7b3f5c
Add mrg! macro for merging Maps together
2022-07-04 02:02:03 +01:00
Tobie Morgan Hitchcock
7bb4aa74f3
Move authentication code to separate module
2022-07-04 01:46:09 +01:00
Tobie Morgan Hitchcock
187d9c08dc
Allow ‘application/octet-stream’ content-type when importing
2022-07-04 01:25:35 +01:00
Tobie Morgan Hitchcock
d04db02ee0
Add introductory message to command-line app
2022-06-28 11:54:04 +01:00
Tobie Morgan Hitchcock
eff4d2c5e9
Implement scope signup and signin functionality
2022-06-20 12:29:06 +01:00
Tobie Morgan Hitchcock
b4e2082196
Use BTreeMap for database execution variables
2022-06-20 02:13:28 +01:00
Tobie Morgan Hitchcock
52e8954ae4
Ensure library works in multi-threaded and single-threaded environments
2022-05-16 00:04:11 +01:00
Tobie Morgan Hitchcock
f414198fad
Only begin a transaction if needed for authentication
2022-05-13 22:07:56 +01:00
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
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