Tobie Morgan Hitchcock
a4db0d8427
Ensure parameters in record ranges are computed
2022-11-03 10:55:47 +00:00
Tobie Morgan Hitchcock
4411b4d71f
Add support for accessing nested fields inside Future computed values
...
Closes #1261
2022-10-31 23:24:44 +00:00
Tobie Morgan Hitchcock
426fce00a8
Separate Future into standalone type
2022-10-31 23:24:44 +00:00
Aman Sharma
82c9d7da2b
Add additional From<Value> and TryFrom<Value> implementations ( #1410 )
2022-10-28 04:35:01 -07:00
Allen Lantz
d1055e6088
Implement hashed implementation of Uniq<Array>
( #1310 )
2022-10-27 05:23:24 -07:00
Aman Sharma
b92536b649
Add some From<Value> and TryFrom<Value> implementations ( #1401 )
2022-10-26 07:01:09 -07:00
Tobie Morgan Hitchcock
d12384f3fb
Change method signature for converting strings to table names
2022-10-25 06:40:23 -07:00
Tobie Morgan Hitchcock
3cbb5eed78
Allow datetimes as an id
parameter in the WebSocket RPC message
2022-10-25 06:06:02 -07:00
Tobie Morgan Hitchcock
2e1d39fcf8
Remove unused Response to Value conversion implementation
2022-10-25 06:05:02 -07:00
Tobie Morgan Hitchcock
8f873cae5c
Accept SQL ranges within SQL objects and SQL arrays
2022-10-25 06:01:13 -07:00
Tobie Morgan Hitchcock
34dd96efb9
Fix linting tests
2022-10-25 02:41:16 -07:00
Aman Sharma
01858bf4ca
adds From<uuid::Uuid> for sql::Value and sql::Uuid ( #1398 )
2022-10-24 09:43:50 +01:00
Tobie Morgan Hitchcock
5b76a25932
Ensure equals comparator function never reeaches unreachable code
...
Closes #1360
2022-10-20 15:54:35 +01:00
Tobie Morgan Hitchcock
0c4994b33b
Ensure nested non-defined objects are not stored in SCHEMAFULL table
...
Closes #1342
2022-10-20 15:41:32 +01:00
Rushmore Mushambi
f0eaf2bd19
Improve RPC method return types ( #1384 )
2022-10-19 23:54:41 +01:00
Tobie Morgan Hitchcock
7f56fb9964
Enable fetching fields and values from within complex Record IDs
...
Closes #1375
2022-10-19 11:03:13 +01:00
Tobie Morgan Hitchcock
73bf56810e
Enable searching within Record IDs using the CONTAINS operator
...
Closes #1377
2022-10-17 23:05:35 +01:00
Tobie Morgan Hitchcock
0a4b810fbd
Allow parameters in LIMIT and START clauses in SQL SELECT statements
...
Closes #1332
Closes #116
2022-10-17 02:57:53 +01:00
Tobie Morgan Hitchcock
214971cb86
Ensure UUIDs and Datetimes can be converted to strings correctly
...
Closes #1338
2022-10-16 17:36:07 +01:00
Tobie Morgan Hitchcock
dfa42f1733
Ensure SQL UUID values are truthy
2022-10-05 19:30:37 +01:00
Finn Bear
45e1a9adce
Refactor, optimization, cleanup ( #1288 )
2022-10-04 22:51:18 +01:00
Tobie Morgan Hitchcock
66b182ec7d
Add explicit Constant type for SurrealQL constants
2022-10-01 15:55:48 +01:00
oricc
176c9f692c
Add support for constants, and add math constants ( #1263 )
2022-09-30 22:22:00 +01:00
Tobie Morgan Hitchcock
7cd8bab75c
Ensure FETCH clauses fetch the respective data correctly
...
Closes #249
2022-09-30 21:42:33 +01:00
Tobie Morgan Hitchcock
79b5ef6411
No need to convert to string before reference
2022-09-30 21:40:56 +01:00
Tobie Morgan Hitchcock
cb7c159d71
Allow custom Record IDs in RELATE statements
2022-09-30 21:33:33 +01:00
Tobie Morgan Hitchcock
2bd2c3ee0b
Remove unnecessary debugging code
2022-09-29 15:04:57 +01:00
Tobie Morgan Hitchcock
bec3d49b6d
Allow deep merging in UPDATE ... MERGE statements
...
Closes #1225
2022-09-29 11:16:57 +01:00
Tobie Morgan Hitchcock
7ef7fb7a2d
Ensure nested computed fields are not set on the root object when a parent field does not exist
...
Closes #130
2022-09-28 02:37:30 +01:00
CelebrateVC
d5a378b1be
Implement math functions that were marked as todo ( #1218 )
2022-09-25 10:55:07 +01:00
Tobie Morgan Hitchcock
4db61d89a2
Ensure DELETE statements with UNIQUE INDEX work correctly
...
Closes #1210
2022-09-24 18:58:56 +01:00
Tobie Morgan Hitchcock
25926cba83
Remove <datetime> / <duration> functionality in favour of time::floor function
...
Closes #1213
2022-09-24 11:17:47 +01:00
Finn Bear
d141605266
Bugfix - prevent division by zero. ( #1206 )
2022-09-24 10:57:26 +01:00
Tobie Morgan Hitchcock
5580f288fd
Allow CREATE statement to accept an id field in the content
2022-09-24 02:58:19 +01:00
Tobie Morgan Hitchcock
5fe1fd0227
Fix linting warnings
2022-09-23 08:41:40 +01:00
Tobie Morgan Hitchcock
26de0b5c46
Add additional convenience functions on Value type
2022-09-23 01:07:53 +01:00
Hugo Saracino
58cffa2de6
Add duration functions for calculating durations as integers ( #257 )
2022-09-23 00:48:49 +01:00
Tobie Morgan Hitchcock
d6b544771f
Rename function for simplicity
2022-09-19 12:28:41 +01:00
Tobie Morgan Hitchcock
f9645e3d55
Ensure size of Error type is correctly tracked
2022-09-10 06:16:14 +01:00
Tobie Morgan Hitchcock
82e347027d
Enable support for dynamic expressions in record IDs
2022-09-04 10:52:01 +01:00
Finn Bear
8f6d21c1fc
Refactor and optimize functions and Value operators ( #80 )
2022-09-01 01:27:52 +01:00
Tobie Morgan Hitchcock
7a857801d2
Ensure selected NS/DB is reflected in current session info
...
Closes #36
2022-08-29 17:30:50 +01:00
Finn Bear
b18b3cef3e
Refactor, optimization, and cleanup of code ( #71 )
2022-08-29 02:47:33 +01:00
Tobie Morgan Hitchcock
c1a1eba8b5
Add support for Record ID ranges
...
Closes #66
2022-08-28 23:31:57 +01:00
Tobie Morgan Hitchcock
eab862b9e4
Add support for Objects and Arrays as Record IDs
2022-08-27 00:23:24 +01:00
Tobie Morgan Hitchcock
f970809030
Fix deletion of embedded array fields using flat path style
2022-08-02 03:12:03 +01:00
Tobie Morgan Hitchcock
c8cba2c64d
Remove VOID type
2022-07-28 21:54:59 +01:00
Tobie Morgan Hitchcock
078d3d4868
Ensure field values are set even if the field is not specified
2022-07-28 09:42:04 +01:00
Tobie Morgan Hitchcock
eaedfbbb7c
Add ability to use binary expressions in SQL SELECT statements
2022-07-18 22:10:00 +01:00
Tobie Morgan Hitchcock
c9d9b041f7
Simplify v.into() value conversion statements
2022-07-16 23:18:24 +01:00
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