Commit graph

20 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
5e2236dbfd Add initial implementation for processing LIVE queries 2023-02-22 18:04:30 +00:00
Tobie Morgan Hitchcock
1e93c0f304 Ensure permissions are not chekced on PERMISSIONS clauses
Closes #1633
2023-02-12 11:48:11 +00:00
Tobie Morgan Hitchcock
400ed09ecb Ensure PERMISSIONS clauses are not run for ROOT / NS / DB users 2022-10-16 22:22:13 +01:00
Tobie Morgan Hitchcock
0394fe5b90 Ensure temporary metadata is removed from records when output 2022-07-16 23:22:23 +01:00
Tobie Morgan Hitchcock
c9a5b66d9c Ensure aggregate functions are computed in GROUP BY clauses 2022-07-16 23:20:50 +01:00
Tobie Morgan Hitchcock
db7ed18119 Consolidate field expression code into single location 2022-07-10 23:11:28 +01:00
Tobie Morgan Hitchcock
8b4f300120 Add support for multi-yield graph traversal expressions 2022-06-04 09:55:05 +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
6ff2a78c88 Don’t use static futures for parallel query execution
Instead of using static futures when processing a query in parallel, we now use a new executor model, which allows us to process futures which make use of references. As a result, we can remove the need to store each statement in an Arc.
2022-05-13 21:57:40 +01:00
Tobie Morgan Hitchcock
8e283ecaeb Only check fields if the document is a table record 2022-04-13 18:31:28 +01:00
Tobie Morgan Hitchcock
27a01bec08 Improve performance of embedded field path creation 2022-04-07 15:33:57 +01:00
Tobie Morgan Hitchcock
c4386f1549 Process PERMISSIONS clauses on document fields 2022-04-07 11:21:18 +01:00
Tobie Morgan Hitchcock
2b89702490 Improve code comments 2022-04-06 20:15:56 +01:00
Tobie Morgan Hitchcock
1ea692d32e Make code more consistent and simpler to read 2022-04-01 12:23:49 +01:00
Tobie Morgan Hitchcock
87840e3e05 Implement GROUP BY clauses 2022-03-25 18:43:36 +00:00
Tobie Morgan Hitchcock
77844ab06b Convert error names according to clippy recommendations 2022-03-06 22:21:37 +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
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
d5c53b7791 Extract core surrealdb code into separate library 2022-02-22 14:16:50 +00:00
Renamed from src/doc/pluck.rs (Browse further)