Commit graph

83 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
1102a2c6da Add operator for unique array add
Related to #1690
2023-03-25 23:17:33 +00:00
Tobie Morgan Hitchcock
cdac4f84cd Add support for custom SQL functions
Closes #247
2023-03-25 19:44:03 +00:00
Emmanuel Keller
19c287a011
Implement transaction debug tracing (#1668) 2023-03-16 09:11:30 -04:00
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
0a65ecd96d Remove unnecessary code 2023-02-03 09:54:05 +00:00
Tobie Morgan Hitchcock
c37d93bcb9 Ensure edge records are output as RELATE statements in SQL export
Closes #1496
2023-01-17 10:41:34 +00:00
Rushmore Mushambi
005b27eae8
Drop the parallel feature (#1574) 2023-01-07 09:42:45 +00:00
Tobie Morgan Hitchcock
f5b21eb363 Add support for FLEXIBLE fields on SCHEMAFULL tables
Closes #1341
2023-01-04 09:50:01 +00:00
Tobie Morgan Hitchcock
916805b9cc Use $input instead of $value in INSERT statements 2023-01-01 16:18:39 +00:00
Tobie Morgan Hitchcock
b8c5f23d56 Don’t run permissions on DEFINE EVENT and DEFINE TABLE queries
Closes #1570
2023-01-01 16:18:39 +00:00
Rushmore Mushambi
c2dce39f91
Integrate client library into surrealdb crate (#1514) 2022-12-30 08:23:19 +00:00
Tobie Morgan Hitchcock
a3d0f46994 Add current INSERT value as parameter value to ON DUPLICATE KEY clause
Closes #1376
2022-12-04 20:59:30 +00:00
CelebrateVC
f0745386cf
Improve code comments for documentation (#1476) 2022-11-23 09:42:59 +00:00
Tobie Morgan Hitchcock
f3c9a9ab4b Ensure record is only cleared when permissions have been checked
Closes #1429
2022-11-02 14:26:27 +00: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
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
e13a4c7742 Use complex Record IDs for IDs in foreign tables with GROUP BY clauses 2022-10-04 00:27:38 +01:00
Tobie Morgan Hitchcock
bec3d49b6d Allow deep merging in UPDATE ... MERGE statements
Closes #1225
2022-09-29 11:16:57 +01:00
Finn Bear
b31dbb28fe
Miscellaneous performance optimizations and code cleanup (#240) 2022-09-23 00:54:53 +01:00
Stephen Gilboy
63d8034a60
Return permissions error when automatically creating a table without authorization (#178)
Closes #177
2022-09-17 03:05:02 +01:00
Tobie Morgan Hitchcock
fde0c55d34 Improve error logging for field and index errors
Closes #113
2022-09-10 05:59:08 +01:00
Tobie Morgan Hitchcock
c97fd62d70 Don’t cast NONE or NULL values to a fields data type
Closes #73
2022-09-01 01:34:31 +01:00
Tobie Morgan Hitchcock
308004aacf Improve unique index duplicate value error messages
Closes #75
2022-08-31 20:00:22 +01:00
Tobie Morgan Hitchcock
56d3b0e861 Fix bug where records couldn’t be updated after defining an index
Closes #57
2022-08-25 14:50:11 +01:00
Tobie Morgan Hitchcock
bac8aa31a3 Implement config definition caching within a transaction
Closes #21
2022-08-08 20:44:35 +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
d619633340 Enable new database strict mode configuration 2022-07-27 18:20:04 +01:00
Tobie Morgan Hitchcock
31adc4538d Implement DEFINE TABLE AS foreign table statements 2022-07-16 23:24:04 +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
8dbbcf1885 Improve code comments 2022-07-16 23:21:45 +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
4ab552a8e3 Allow PATCH clauses to accept parameters 2022-07-07 11:22:41 +01:00
Tobie Morgan Hitchcock
6c5ddbf70f Ensure undefined fields are removed in schemafull mode 2022-07-04 17:54:43 +01:00
Tobie Morgan Hitchcock
b575f3a9db Remove unused files 2022-07-04 17:54:03 +01:00
Tobie Morgan Hitchcock
8ebcff6d18 Ensure table is added if it does not exist
If the user is is creating a record in a table / collection that does not exist, and the user is authenticated with KV, NS, or DB level permissions, then we need to add the table with the default definition parameters.
2022-07-04 13:58:59 +01:00
Tobie Morgan Hitchcock
34ba79428c Ensure correct permissions are used on each query 2022-06-28 11:54:04 +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
1f5acefa7c Only store empty value in datastore for record edges 2022-06-15 08:50:59 +01:00
Tobie Morgan Hitchcock
072b002593 Simplify datastore key serialization 2022-06-15 08:49:57 +01:00
Tobie Morgan Hitchcock
1333ecf0df Use separate module for Dir type 2022-06-08 19:16:06 +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
a9bf09db1e Ensure edges are stored before indexes in RELATE statements 2022-06-02 09:07:28 +01:00
Tobie Morgan Hitchcock
01d21e1157 Implement INSERT and RELATE statements 2022-05-30 16:32:26 +01:00
Tobie Morgan Hitchcock
32525602e2 Ensure changed index values are calculated correctly 2022-05-23 13:24:38 +01:00
Tobie Morgan Hitchcock
61b1e547b6 Always use simplified serialization unless specified explicitly 2022-05-21 10:07:32 +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