Commit graph

143 commits

Author SHA1 Message Date
Rushmore Mushambi
69572e9e6b
Make all futures easier to send across threads (#3053) 2023-12-01 15:25:28 +00:00
Rushmore Mushambi
a8ed51f629
Make Stream easier to send across threads (#3042) 2023-11-29 09:35:52 +00:00
Gerard Guillemas Martos
a70ddb2e2a
[auth] Support auth levels for basic auth (#2985)
Co-authored-by: Salvador Girones Gil <salvadorgirones@gmail.com>
2023-11-28 14:53:40 +00:00
Rushmore Mushambi
3baf1c6ea9
Add Query::with_stats to return query statistics along with the results (#3019) 2023-11-27 19:13:52 +00:00
Tobie Morgan Hitchcock
3f43e741c2
Improve WebSocket performance (#2999)
Co-authored-by: Salvador Girones Gil <salvadorgirones@gmail.com>
2023-11-20 19:08:07 +00:00
Mees Delzenne
256a08a396
Factor out the parser into its own module. (#2979) 2023-11-18 13:56:13 +00:00
Rushmore Mushambi
2d19ac9f7a
Add live query API (#2919)
Co-authored-by: Emmanuel Keller <keller.emmanuel@gmail.com>
2023-11-13 17:19:47 +00:00
Micha de Vries
05907db1ea
Fix #2513 - Query results should be consistent and representative (#2887) 2023-10-26 10:05:44 +00:00
Roman Geber
f185c595f4
Clean paths in the start command and honour ~ (#2787)
Co-authored-by: Rushmore Mushambi <rushmore@surrealdb.com>
2023-10-19 19:48:31 +00:00
Brian
87859158d3
bump tungstenite to 0.20.1 (#2807)
Co-authored-by: Przemyslaw Hugh Kaznowski <hughkaznowski@protonmail.com>
Co-authored-by: Tristan F. <LeoDog896@hotmail.com>
2023-10-18 08:54:04 +00:00
Djole
9d9fde2db8
Fix local engine endpoints (#2813)
Co-authored-by: Rushmore Mushambi <rushmore@surrealdb.com>
2023-10-10 06:01:21 +00:00
Jan S
74ad693709
Fix typos (#2764) 2023-09-28 09:17:29 +00:00
Mees Delzenne
178e2a0d4a
Implement parsing for ML models. (#2691)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-09-13 07:06:28 +01:00
Rushmore Mushambi
bee0e950a5
Compute local variables before storing them (#2652) 2023-09-08 19:24:12 +01:00
Rushmore Mushambi
4259e05413
Fix relative paths (#2615) 2023-09-05 07:38:39 +01:00
Tobie Morgan Hitchcock
abb5ce00db
Ensure incorrect data causes error (#2559) 2023-09-04 18:54:17 +01:00
Tobie Morgan Hitchcock
576996aafd
Ensure dbs::Capabilities are visible in Rust docs (#2593) 2023-09-04 07:48:25 +00:00
Tobie Morgan Hitchcock
8b6af2a562
Ensure transactions are handled properly (#2585) 2023-09-02 22:22:41 +01:00
Rushmore Mushambi
99e84d8f77
Return an error when db.connect() is called multiple times (#2576) 2023-09-02 06:40:49 +00:00
Salvador Girones Gil
129757a28d
[import] Support larger files when connecting to an HTTP endpoint (#2557) 2023-09-01 09:09:41 +01:00
Rushmore Mushambi
742a353a8f
Refactor and improve Surreal::export (#2555) 2023-08-31 19:44:18 +00:00
Salvador Girones Gil
bdac1fae72
[security] Introduce "allow-guests". Deny all caps by default (#2547) 2023-08-30 18:01:30 +00:00
Rushmore Mushambi
6cb12db82b
Make patch return the patched record (#2530) 2023-08-27 19:28:38 +01:00
Rushmore Mushambi
fd364e56da
Make tick a configuration option (#2495) 2023-08-25 07:55:22 +00:00
Rushmore Mushambi
6cfc270d32
Run rustfmt and clippy using Rust 1.72.0 (#2512) 2023-08-24 19:02:44 +00:00
Rushmore Mushambi
9d89fa0d56
Simplify connect parameters (#2488) 2023-08-22 09:23:49 +00:00
Rushmore Mushambi
74c3551b45
Remove unnecessary impl From<Jwt> for Value (#2483) 2023-08-21 15:09:00 +01:00
Rushmore Mushambi
76478b37cd
impl IntoResource for &Thing (#2482) 2023-08-21 13:48:31 +01:00
Tobie Morgan Hitchcock
f01da5f577
Delay Record ID generation when using functions (#2469) 2023-08-20 04:27:20 +01:00
Rushmore Mushambi
f16ec7f894
Add a Value::Query variant (#2460) 2023-08-18 23:51:56 +01:00
Tobie Morgan Hitchcock
44dabfa9d2
Improve DEFINE and REMOVE statements code (#2455) 2023-08-18 14:21:02 +01:00
Yusuke Kuoka
a242d21d94
feat: Ability to show changes using timestamp (#2408) 2023-08-18 08:17:54 +01:00
Tobie Morgan Hitchcock
b2b51b54b1
Add versioned data storage serialisation (#2433) 2023-08-17 19:03:46 +01:00
Rushmore Mushambi
78808bb44c
Refactor Lazy::new(|| Surreal::init()) to Lazy::new(Surreal::init) (#2432) 2023-08-11 22:11:24 +00:00
Rushmore Mushambi
61f4580ba8
Switch to std::sync::OnceLock and fix Surreal::clone (#2370) 2023-08-10 06:33:38 +00:00
Raphael Darley
4ae1a0d1a9
Allow more export options (#2375)
Co-authored-by: Rushmore Mushambi <rushmore@surrealdb.com>
2023-08-09 12:15:20 +00:00
Salvador Girones Gil
ab72923fb5
[import] Provide descriptive error messages (#2377) 2023-08-03 14:06:08 +00:00
Rushmore Mushambi
20925d1f1e
Make Config simpler (#2365) 2023-08-01 08:34:22 +00:00
Emmanuel Keller
b485d9cc3d
Feat: Support of (un)flattened fields in indexing (#2327) 2023-08-01 07:30:13 +00:00
Rushmore Mushambi
bb8c1cd478
Return an error when the server version is incompatible with the SDK (#2364) 2023-08-01 07:27:10 +00:00
Salvador Girones Gil
998b263517
[iam] RBAC and multiple root users (#2176)
Co-authored-by: Przemyslaw Hugh Kaznowski <hughkaznowski@protonmail.com>
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-07-29 18:47:25 +00:00
Raphael Darley
c25b85669b
feature: Add config for query/transaction timeout and notifications (#2340) 2023-07-26 11:54:48 +00:00
Rushmore Mushambi
a2f4d6776d
impl Clone for Any (#2309) 2023-07-21 14:54:15 +00:00
Rushmore Mushambi
c998584f49
Add unit tests for into_json (#2254) 2023-07-14 23:01:02 +00:00
Tobie Morgan Hitchcock
4b690c763b
Improve datastore configuration options (#2227) 2023-07-05 21:26:13 +00:00
Rushmore Mushambi
20ee2f1dc6
Remove manual log targets (#2214) 2023-07-04 21:02:10 +00:00
David Bottiau
650eaab179
docs(auth): improve docs of Jwt struct (#2223) 2023-07-04 20:15:20 +00:00
David Bottiau
33cf04d3df
feat(auth): add functions to read jwt value (#2215) 2023-07-04 14:13:35 +00:00
Rushmore Mushambi
c590f9c923
Bump supported versions (#2205) 2023-07-01 22:55:11 +00:00
Tobie Morgan Hitchcock
55918b7c0e
Switch to bincode serialization (#2134)
Co-authored-by: Rushmore Mushambi <rushmore@surrealdb.com>
2023-07-01 20:09:15 +01:00
Finn Bear
a10d6df430
Bugfix - JSON datetime string. (#2180) 2023-06-26 11:02:26 +00:00
Rushmore Mushambi
6f79f1556a
Test FoundationDB (#1889) 2023-06-13 20:55:38 +00:00
Rushmore Mushambi
98c5bafd37
Fix FoundationDB endpoint (#2122) 2023-06-09 16:56:30 +00:00
Rushmore Mushambi
409ad61477
Add authentication support for local engines (#1908) 2023-06-09 13:45:07 +00:00
Tobie Morgan Hitchcock
f5f10d508f
Improve type casting support (#2083)
Co-authored-by: Finn Bear <finnbearlabs@gmail.com>
2023-06-06 06:12:59 +00:00
Tobie Morgan Hitchcock
3900bfa737
Add SpeeDB storage engine implementation (#2076) 2023-05-31 12:35:41 +00:00
David Bottiau
f6c909e1a2
Fix doc on select example (#2064) 2023-05-28 12:06:08 +01:00
Rushmore Mushambi
9cd25566ac
Fix deserialising HTTP query responses (#2045) 2023-05-26 11:36:37 +01:00
hchockarprasad
53d8e9c628
Make client error serializable (#1992) 2023-05-22 21:02:48 +01:00
Finn Bear
31af5dd4d3
Feature - Add time::EPOCH constant. (#2021) 2023-05-20 08:28:52 +01:00
Finn Bear
437fc231f1
Bugfix - Visibly warn if failed to deserialize websocket response. (#1999) 2023-05-16 12:31:16 +01:00
Rushmore Mushambi
fb6f1caa6b
Lift 'static restriction on connect methods (#1926) 2023-05-05 19:14:06 +01:00
Rushmore Mushambi
107e5b5dba
Support switching namespaces and databases separately (#1927) 2023-05-05 19:12:19 +01:00
Rushmore Mushambi
357a5320ef
Disable URL-encoding on file paths (#1892) 2023-04-30 19:34:46 +01:00
Rushmore Mushambi
59947749e3
Add a missing impl<T> IntoEndpoint for (T, native_tls::TlsConnector) for the any engine (#1885) 2023-04-29 17:21:19 +01:00
Rushmore Mushambi
91e949248d
Unify serialisation (#1881) 2023-04-29 16:58:22 +01:00
Rushmore Mushambi
955aea9409
impl From<sql::Value> for serde_json::Value (#1877) 2023-04-29 09:06:02 +01:00
Rushmore Mushambi
141eb091a6
Bypass deserialisation for sql::Value responses on Surreal methods (#1875) 2023-04-28 12:20:57 +01:00
Rushmore Mushambi
e6b97ff8ff
Refactor the Connection trait and Surreal methods (#1860) 2023-04-25 15:22:34 +01:00
Tobie Morgan Hitchcock
66b105dac0
Add support for stricter typings (#1861)
Co-authored-by: Rushmore Mushambi <rushmore@surrealdb.com>
2023-04-25 11:13:04 +01:00
Rushmore Mushambi
a15c8c3564
Make error messages clearer when required features are not enabled (#1822) 2023-04-23 12:08:21 +01:00
Rushmore Mushambi
cd16d4af5c
Replace tokio::time with wasmtimer for Wasm targets (#1846) 2023-04-23 08:32:27 +01:00
Rushmore Mushambi
78625bc7a1
Bypass deserialisation for sql::Values on Response::take (#1834) 2023-04-20 19:20:50 +01:00
Finn Bear
46c15cfb8e
Allow exports larger than 10,240 bytes for local engines (#1833) 2023-04-20 11:42:23 +01:00
Rushmore Mushambi
8eac52315b
Fix HTTP string errors deserialization (#1821) 2023-04-19 09:46:37 +01:00
Finn Bear
a35ed83c88
Streamline Makefile compilation and fix a minor typo. (#1832) 2023-04-19 09:27:53 +01:00
Rushmore Mushambi
32352f4bd1
Add more #[must_use] attributes (#1828) 2023-04-19 09:26:22 +01:00
Tobie Morgan Hitchcock
45094c76ce Use custom serialization format 2023-03-31 23:49:52 +01:00
Rushmore Mushambi
179878d672
Add compile-time guarantees to make Surreal::delete safer (#1753) 2023-03-31 23:49:29 +01:00
Tobie Morgan Hitchcock
cfb27e0929 Add Bytes type for binary data
Related to #1652
2023-03-31 20:00:21 +01:00
Rushmore Mushambi
6e6621565d
Switch the HTTP engine to a binary protocol (#1751) 2023-03-31 18:15:15 +01:00
Diptesh Choudhuri
494203d358
Allow exporting to stdout (#1701) 2023-03-30 19:13:26 +01:00
Rushmore Mushambi
3e80aa9914
Implement to_value for sql::Value (#1659)
`sql::Value` is an integral part of `surrealdb`. It's the internal type used by our storage layer. Because of this, we do a lot of converting between this type and native Rust types. Currently this conversion is done through `JSON` using the `serde_json` crate because we do not have our own custom data format implementation. This works because `SQL` is a superset of `JSON`.  This, however, means that this conversion is lossy and can cause surprises in some cases. For example expecting record IDs to be deserialized into a `String` instead of its corresponding Rust native type.

This change implements a custom data format around `sql::Value` and introduces a `to_value` function that facilitates that conversion.
2023-03-30 11:41:44 +01:00
Tobie Morgan Hitchcock
f48de42695 Add suport for flattened query results with VALUE field clauses
Closes #1326
2023-03-17 07:32:31 -04:00
Tobie Morgan Hitchcock
d3e7936d5e Temporarily remove sql! parser runtime macro
Closes #1643
2023-02-09 10:53:19 +00:00
Rushmore Mushambi
63ba510b09
Use spawn_local instead of tokio::spawn on WebAssembly (#1595) 2023-01-14 19:56:40 +00:00
Rushmore Mushambi
7f927d77aa
Make conversion from Rust <-> SurrealDB lossless (#1600) 2023-01-14 19:29:39 +00:00
Tobie Morgan Hitchcock
b357e24e44 Replace std::time::Instant with trice::Instant 2023-01-09 09:52:21 +00:00
Rushmore Mushambi
953a2008e2
Rename the engines module to engine (#1576) 2023-01-07 08:32:18 +00:00
Tobie Morgan Hitchcock
48a8d7b6eb Fix clippy linting warnings 2022-12-31 17:05:39 +00:00
Tobie Morgan Hitchcock
8355ce7f89 Fix clippy linting warnings 2022-12-31 08:17:54 +00:00
Rushmore Mushambi
a24bb4f4b8
Allow memory as an address endpoint in CLI sql command (#1563) 2022-12-30 23:53:45 +00:00
Rushmore Mushambi
c2dce39f91
Integrate client library into surrealdb crate (#1514) 2022-12-30 08:23:19 +00:00