Commit graph

120 commits

Author SHA1 Message Date
Rushmore Mushambi
91e949248d
Unify serialisation (#1881) 2023-04-29 16:58:22 +01:00
Rushmore Mushambi
a15c8c3564
Make error messages clearer when required features are not enabled (#1822) 2023-04-23 12:08:21 +01:00
Finn Bear
c9a9336fdc
Improve performance and security of simple JSON parser (#1813) 2023-04-17 15:39:37 +01:00
Finn Bear
15bfef4866
Refactor - Clean-up and optimize KVs (#1807) 2023-04-14 12:43:25 +01:00
Tobie Morgan Hitchcock
683c1adbd4 Ensure DEFINE TOKEN ON SCOPE statments are included in database export 2023-04-01 19:28:44 +01:00
Tobie Morgan Hitchcock
86f768e996 Ensure tests work correctly when no features enabled 2023-03-30 11:10:07 +01:00
Salvador Girones Gil
565717659a
Add functionality for open telemetry tracing (#1727) 2023-03-29 19:16:18 +01:00
Tobie Morgan Hitchcock
715b79c24e Fix warnings in release mode 2023-03-25 20:48:51 +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
Finn Bear
b0811b263e
Fix #1698 - reduce code duplication in TiKV txn. (#1699) 2023-03-13 22:54:21 -04:00
Emmanuel Keller
f3e605afde
Implements transaction isolation testing (#1674) 2023-03-10 15:24:27 +00:00
Tobie Morgan Hitchcock
9c18025cca Use new SQL Block type for <future> expressions 2023-02-21 14:15:19 +00:00
Tobie Morgan Hitchcock
84b026679f Update clippy linting tests 2023-02-03 11:47:07 +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
Tobie Morgan Hitchcock
7fabf54593 Add ability to define global parameters on database
Closes #133
2023-01-09 15:49:47 +00:00
Rushmore Mushambi
c2dce39f91
Integrate client library into surrealdb crate (#1514) 2022-12-30 08:23:19 +00:00
Tobie Morgan Hitchcock
df954a9554 Ensure transaction cache is cleared when necessary
Closes #1526
2022-12-18 10:30:07 +00:00
Tobie Morgan Hitchcock
6804c6d79b Ensure RocksDB range scans are inclusive at the start 2022-12-12 19:38:43 +00:00
Tobie Morgan Hitchcock
406e277c3b Ensure crate builds with no-default-features 2022-12-07 19:30:29 +00:00
CelebrateVC
f0745386cf
Improve code comments for documentation (#1476) 2022-11-23 09:42:59 +00:00
Tobie Morgan Hitchcock
65f219ffe5 Ensure system parameters are not able to be overridden 2022-11-01 23:55:33 +00:00
Tobie Morgan Hitchcock
426fce00a8 Separate Future into standalone type 2022-10-31 23:24:44 +00:00
Tobie Morgan Hitchcock
7f84504170 Remove old code comment 2022-10-19 18:56:56 +01:00
Tobie Morgan Hitchcock
7f66592808 Fix key scan range iteration in RocksDB storage engine
Closes #1221
2022-09-26 03:33:30 +01:00
Tobie Morgan Hitchcock
75d1e86990 Add DEFINE TOKEN … ON SCOPE … functionality
Closes #144
2022-09-25 22:58:38 +01:00
Finn Bear
b31dbb28fe
Miscellaneous performance optimizations and code cleanup (#240) 2022-09-23 00:54:53 +01:00
Finn Bear
8907f0aa14
Make RocksDB integration more, if not completely, sound (#77)
Closes #76
2022-08-31 14:18:23 +01:00
Tobie Morgan Hitchcock
906b969b90 Don’t use writeable TiKV transactions when we don’t need to 2022-08-30 22:35:29 +01:00
Tobie Morgan Hitchcock
58591f82dc Ensure we use the correct transaction type (optimistic/pessimistic)
Closes #79
2022-08-30 22:34:55 +01:00
Tobie Morgan Hitchcock
e6d3c1e977 Add initial RocksDB storage implementation 2022-08-28 14:35:30 +01:00
Tobie Morgan Hitchcock
c0217078f5 Improve documentation of Rust crate 2022-08-28 14:08:08 +01:00
Tobie Morgan Hitchcock
0519ca60bc Return an error if the specified datastore is not able to be initiated 2022-08-21 20:28:54 +01:00
Kian-Meng Ang
40157f6170
Fix typos (#42)
Found via `codespell -L crate,inout,ser,fetchs,te,tre,whats`.
2022-08-21 13:13:38 +01:00
Yusuke Kuoka
1d3880d652
Initial implementation of SurrealDB KVS for FoundationDB (#37)
Referenced in discussion #25 

Closes #38
2022-08-15 19:35:41 +01:00
Tobie Morgan Hitchcock
af45b33fa0 Return error when selecting from non-existent table in strict mode
Closes #13
2022-08-10 17:49:32 +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
863830cf3f Ensure FIELD definitions are not output two in SQL export
CLoses #16
2022-08-05 15:46:49 +01:00
Tobie Morgan Hitchcock
d619633340 Enable new database strict mode configuration 2022-07-27 18:20:04 +01:00
Tobie Morgan Hitchcock
6d36aa0b2c Default TABLE permissions are now NONE not FULL 2022-07-27 09:15:35 +01:00
Tobie Morgan Hitchcock
81bad3211d Improve command-line logging 2022-07-19 09:28:24 +01:00
Tobie Morgan Hitchcock
0d05446976 Ensure TiKV transactions do not panic when a transaction is dropped 2022-07-18 18:56:08 +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
59d7e733eb Ignore errors when automatically adding NS, DB, or TB definitions 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
569182ee7b Implement LIVE and KILL statements 2022-06-28 11:54:04 +01:00
Tobie Morgan Hitchcock
0cb42d7283 Add functionality to compute sql value within database context 2022-06-20 12:26:27 +01:00
Tobie Morgan Hitchcock
56f5f10046 Remove unnecessary std::convert::From implementations 2022-05-27 21:13:04 +01:00
Tobie Morgan Hitchcock
64ddd407ca Ensure correct trait is used in function definitions 2022-05-21 09:39:40 +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
15fc4a0126 Ensure statements are properly escaped when output as a string 2022-05-15 09:42: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
7bd5802e99 Remove tokio as a dependency
Closes SUR-102
2022-05-13 21:57:40 +01:00
Tobie Morgan Hitchcock
17e8ea55b5 Implement SQL database exporting and importing 2022-05-11 15:23:15 +01:00
Tobie Morgan Hitchcock
fc2c48647c Allow large enum variant size for Datastore and Transaction 2022-05-06 23:09:49 +01:00
Tobie Morgan Hitchcock
2239e4becf Improve Datastore and Transaction errors 2022-05-06 21:57:12 +01:00
Tobie Morgan Hitchcock
f33031ca6b Ensure doc tests compile successfully 2022-05-04 10:11:51 +01:00
Tobie Morgan Hitchcock
c5960a028e Improve comments in public library package 2022-05-04 00:49:38 +01:00
Tobie Morgan Hitchcock
ffc3ed82f7 Simplify external API when working with Datastore 2022-05-04 00:07:46 +01:00
Tobie Morgan Hitchcock
f958eea305 Fix typo in ixdb key-value store implementation 2022-04-09 10:08:51 +01:00
Tobie Morgan Hitchcock
8980929a3c Ignore any errors when adding default NS / DB / TB 2022-04-04 23:24:39 +01:00
Tobie Morgan Hitchcock
fd4752aff4 Add putc + delc functions for conditional put / del in kv store 2022-04-04 16:59:20 +01:00
Tobie Morgan Hitchcock
0b3f4c5765 Prevent usize overflow when no records found 2022-03-23 12:05:50 +00:00
Tobie Morgan Hitchcock
364412b437 Improve datastore key creation functionality 2022-03-18 07:21:22 +00:00
Tobie Morgan Hitchcock
60c05ee082 Use hexadecimal u8 values when altering datastore keys 2022-03-16 17:01:25 +00:00
Tobie Morgan Hitchcock
0f6d700f6b Implement initial logic for DEFINE statements 2022-03-07 18:15:57 +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
d5c53b7791 Extract core surrealdb code into separate library 2022-02-22 14:16:50 +00:00