Tobie Morgan Hitchcock
b0bcecf5da
Fix clippy warnings
2022-07-10 22:57:19 +01:00
Tobie Morgan Hitchcock
a430e89c1f
Ensure values are parsed in the correct order
2022-07-08 10:19:01 +01:00
Tobie Morgan Hitchcock
4ab552a8e3
Allow PATCH clauses to accept parameters
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
8dc7341cb1
Add functions on SQL Value for matching on type
2022-07-04 02:02:46 +01:00
Tobie Morgan Hitchcock
d0c37f4d66
Enable parsing of thing records inside strings
...
This allows for thing records to be parsed within JSON strings.
2022-07-03 20:28:30 +01:00
Tobie Morgan Hitchcock
219f4a54ed
Enable ability to pass arguments to JavaScript functions
2022-06-28 11:54:04 +01:00
Tobie Morgan Hitchcock
ccdce709f2
Add UUID data type to SQL for efficient storage of UUIDs
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
20c4e03446
Ensure graph edges are purged correctly when deleted
2022-06-17 23:55:09 +01:00
Tobie Morgan Hitchcock
a687a7f4bf
Ensure remote records in FETCH clauses are fetched correctly
2022-06-15 08:49:57 +01:00
Tobie Morgan Hitchcock
c0a78d8470
Implement graph traversal functionality
2022-06-15 08:49:57 +01:00
Tobie Morgan Hitchcock
a8fa9ecfb7
Only support strings or integers for Record IDs
2022-06-08 08:39:09 +01:00
Tobie Morgan Hitchcock
91a859f6b0
Ensure Params are treated as Idioms
2022-06-05 22:15:12 +01:00
Tobie Morgan Hitchcock
525b02ca46
Ensure cast functions are output correctly as object keys
2022-06-01 10:50:07 +01:00
Tobie Morgan Hitchcock
4d9b3fd403
Ensure fields are not escaped when inserted as object keys
2022-05-31 20:47:02 +01:00
Tobie Morgan Hitchcock
b37b027b60
Add ability to convert a record to another table
2022-05-30 16:21:38 +01:00
Tobie Morgan Hitchcock
56f5f10046
Remove unnecessary std::convert::From implementations
2022-05-27 21:13:04 +01:00
Tobie Morgan Hitchcock
ea525648ae
Remove unnecessary lifetime specifiers
2022-05-25 10:42:10 +01:00
Tobie Morgan Hitchcock
44df5a8621
Allow modification of documents from subquery result sets
2022-05-25 10:39:36 +01:00
Tobie Morgan Hitchcock
61b1e547b6
Always use simplified serialization unless specified explicitly
2022-05-21 10:07:32 +01:00
Tobie Morgan Hitchcock
073285574a
No need to surround statements with an Arc
2022-05-18 12:18:00 +01:00
Tobie Morgan Hitchcock
75de89d9a1
Add support for both writeable and read-only transactions
2022-05-14 22:30:49 +01:00
Tobie Morgan Hitchcock
1017e2fffb
Don’t clone variables when processing sub-contexts
...
Closes SUR-53
When creating a new context for subqueries or statement clauses, we used to have to clone any variables/values, and freeze the context, so that it could be used across threads and async boundaries.
Now with the new executor pattern for parallel queries, we can pass references instead, improving performance by removing unnecessary cloning of values.
2022-05-14 13:38:17 +01:00
Tobie Morgan Hitchcock
43d361646c
Ensure value mem size test passes correctly
2022-05-09 08:19:01 +01:00
Tobie Morgan Hitchcock
a03d5a7551
Implement SQL Regex as a newtype tuple struct
2022-05-07 14:57:14 +01:00
Tobie Morgan Hitchcock
79e9269f14
Add value size checks tests
2022-05-06 23:33:19 +01:00
Tobie Morgan Hitchcock
5921a6b632
Fix module_inception clippy lint warning
2022-05-06 23:09:32 +01:00
Tobie Morgan Hitchcock
683039e08f
Don’t duplicate methods on items which implement Deref
2022-05-05 10:24:52 +01:00
Tobie Morgan Hitchcock
98fc9055af
Implement SQL Duration as a newtype tuple struct
2022-05-05 10:24:52 +01:00
Tobie Morgan Hitchcock
10f2911d44
Implement SQL Datetime as a newtype tuple struct
2022-05-05 10:24:52 +01:00
Tobie Morgan Hitchcock
1ed5df005e
Implement SQL Strand as a newtype tuple struct
2022-05-05 10:24:52 +01:00
Tobie Morgan Hitchcock
ed92fb4d85
Implement SQL Ident as a newtype tuple struct
2022-05-05 10:24:52 +01:00
Tobie Morgan Hitchcock
3233660037
Implement SQL Table as a newtype tuple struct
2022-05-05 10:24:46 +01:00
Tobie Morgan Hitchcock
143da56728
Implement SQL Array as a newtype tuple struct
2022-05-04 23:37:57 +01:00
Tobie Morgan Hitchcock
3ee1ddb5b1
Implement SQL Object as a newtype tuple struct
2022-05-04 23:37:15 +01:00
Tobie Morgan Hitchcock
896e384b98
Change method name so it doesn’t conflict with std::ops::Add::add
2022-05-04 11:34:17 +01:00
Tobie Morgan Hitchcock
a4e07f693b
Make certain functions private to crate
2022-05-01 23:25:53 +01:00
Tobie Morgan Hitchcock
4c8d9dbb63
implement COLLATE and NUMERIC ordering in ORDER BY clauses
2022-04-27 16:21:51 +01:00
Tobie Morgan Hitchcock
a41e52098b
Improve performance of internal value conversion
2022-04-07 15:44:55 +01:00
Tobie Morgan Hitchcock
27a01bec08
Improve performance of embedded field path creation
2022-04-07 15:33:57 +01:00
Tobie Morgan Hitchcock
e378105f11
Add ‘every’ function on a value for field iteration
2022-04-07 11:21:18 +01:00
Tobie Morgan Hitchcock
9becf187f4
Add ‘each’ function on a value for field iteration
2022-04-07 11:12:10 +01:00
Tobie Morgan Hitchcock
aab4d0b096
Implement FIELD TYPE / VALUE / ASSERT clauses
2022-04-06 00:09:23 +01:00
Tobie Morgan Hitchcock
664260ef0d
Enable internal conversion between values
2022-04-04 22:34:46 +01:00
Tobie Morgan Hitchcock
1d66a4772d
Ensure correct ordering of values in datastore
2022-04-04 16:59:42 +01:00
Tobie Morgan Hitchcock
94ffc054a7
Fix clippy warnings
2022-04-01 23:28:54 +01:00
Tobie Morgan Hitchcock
bf1a833a79
Don’t set meta field on records
2022-04-01 12:23:49 +01:00
Tobie Morgan Hitchcock
9f7527c01a
Make simple value fetching functions synchronous
2022-03-25 21:15:55 +00:00
Tobie Morgan Hitchcock
2f033aa996
Remove unused functionality
2022-03-25 21:11:17 +00:00
Tobie Morgan Hitchcock
b3c4f982ec
Fix clippy lint errors
2022-03-25 20:31:45 +00:00
Tobie Morgan Hitchcock
e92134c92d
Ensure we can retrieve subsequent object fields
2022-03-25 18:45:14 +00:00
Tobie Morgan Hitchcock
87840e3e05
Implement GROUP BY clauses
2022-03-25 18:43:36 +00:00
Tobie Morgan Hitchcock
6017d424eb
Implement FETCH clauses
2022-03-23 14:02:41 +00:00
Tobie Morgan Hitchcock
f674ea0544
Implement ORDER BY clauses
2022-03-23 14:02:41 +00:00
Tobie Morgan Hitchcock
3370b20c38
Only allow simple fields for SPLIT, ORDER, and GROUP clauses
2022-03-23 14:02:03 +00:00
Tobie Morgan Hitchcock
24752a75d9
Enable support for numbers and strings in record ids
2022-03-18 07:24:36 +00:00
Tobie Morgan Hitchcock
73df91a438
Use BigDecimal for large number handling
2022-03-17 21:55:32 +00:00
Tobie Morgan Hitchcock
03af33796a
Fix arithmetic and boolean binary expression order
...
Previously the expression operations happened right-to-left so `1 - 2 - 3 - 4 - 5` was actually calculated as `(1 - (2 - (3 - (4 - (5)))))`. Now the expressions are calculated according to BODMAS, with boolean expressions calculated last.
2022-03-13 00:18:23 +00:00
Tobie Morgan Hitchcock
d1c2daaee4
Apply cargo clippy lint recommendations
2022-03-05 14:42:58 +00:00
Tobie Morgan Hitchcock
38c7ae206e
Enable parallel iteration of records
2022-02-27 00:01:19 +00:00
Tobie Morgan Hitchcock
cd545c2edd
Remove unused code
2022-02-26 15:09:30 +00:00
Tobie Morgan Hitchcock
63113f83c3
Ensure types can be serialized/deserialized to the datastore
2022-02-26 00:34:05 +00:00
Tobie Morgan Hitchcock
19909885e9
Remove old code comments
2022-02-22 19:08:40 +00:00
Tobie Morgan Hitchcock
7d5dc66555
Ensure we parse datetimes and durations in JSON requests
2022-02-22 19:08:22 +00:00
Tobie Morgan Hitchcock
d4566ff6ea
Improve performance with query path analysis
...
Instead of creating a new Vec<_> for every embedded path part, we now use a reference when calling get/set/del on a value’s data. This means we aren’t creating and copying the Vec items each and every time we traverse down a path.
2022-02-22 19:05:58 +00:00
Tobie Morgan Hitchcock
c28057f8ef
Allow flat query expressions
...
Instead of having to specify [*] or * to get/set/del values in embedded arrays, it now supports access embedded values using a flat style for arrays.
2022-02-22 16:33:43 +00:00
Tobie Morgan Hitchcock
d5c53b7791
Extract core surrealdb code into separate library
2022-02-22 14:16:50 +00:00