Commit graph

1061 commits

Author SHA1 Message Date
Finn Bear
65ceb61f6a
Bugfix - Prevent niche parser recursion due to subqueries. (#2614) 2023-09-04 19:52:32 +01:00
Tobie Morgan Hitchcock
abb5ce00db
Ensure incorrect data causes error (#2559) 2023-09-04 18:54:17 +01:00
Micha de Vries
22c36b80c8
move is::* -> string::is::*, add new type::is::* fncs (#2603) 2023-09-04 16:10:18 +00:00
Salvador Girones Gil
7265136c0a
[security] Allow all functions by default (#2608) 2023-09-04 16:46:57 +01:00
Mees Delzenne
48a2bb52ac
Provide existing context to functions called from scripting functions (#2605) 2023-09-04 12:12:24 +00:00
Tobie Morgan Hitchcock
8c13d711b8
No need for custom serialization of sql::Datetime (#2594) 2023-09-04 07:54:04 +00:00
Tobie Morgan Hitchcock
576996aafd
Ensure dbs::Capabilities are visible in Rust docs (#2593) 2023-09-04 07:48:25 +00:00
Rushmore Mushambi
87a9631898
Drop compact UUID attributes (#2570) 2023-09-03 09:35:16 +01: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
Tobie Morgan Hitchcock
fd73619349 Release 1.0.0-beta.10 2023-09-01 15:36:54 +01:00
Tobie Morgan Hitchcock
e9ee5245c2 Code cleanup (#2569) 2023-09-01 15:36:54 +01:00
Tobie Morgan Hitchcock
3c40af0165
Add PERMISSIONS to DEFINE PARAM and DEFINE FUNCTION clauses (#2564) 2023-09-01 11:07:04 +01: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
Przemyslaw Hugh Kaznowski
efec9448c0
Fix returned value of bootstrap to not lose errors (#2553) 2023-08-31 20:48:21 +01:00
Tobie Morgan Hitchcock
fc7f5cb0b0
Support variable field projection with type::field() and type::fields() (#2552) 2023-08-31 13:06:10 +01:00
Przemyslaw Hugh Kaznowski
414fc68d24
Change how bootstrap handles transactions and errors (#2551) 2023-08-31 11:06:37 +00:00
Salvador Girones Gil
bdac1fae72
[security] Introduce "allow-guests". Deny all caps by default (#2547) 2023-08-30 18:01:30 +00:00
Emmanuel Keller
0d43e7a156
Implements revision on indexes states (#2516) 2023-08-29 20:21:55 +01:00
Rushmore Mushambi
d06ed3ad3a
Fix time issues on Wasm (#2544) 2023-08-29 18:52:25 +00:00
Mees Delzenne
daf6743c4e
Miscellaneous parser improvements (#2515) 2023-08-29 11:50:00 +01:00
Rushmore Mushambi
bae9217b72
Fix Wasm binaries (#2541) 2023-08-29 11:47:53 +01:00
Tobie Morgan Hitchcock
8be97a697f
Support ON DUPLICATE KEY UPDATE when a unique index entry exists (#2534) 2023-08-29 09:46:48 +01:00
Rushmore Mushambi
6cb12db82b
Make patch return the patched record (#2530) 2023-08-27 19:28:38 +01:00
Tobie Morgan Hitchcock
5565c8f355
Add support for OMIT clause in SELECT statements (#2529) 2023-08-27 19:00:11 +01:00
Rushmore Mushambi
a29241666d
Serialise Kind::Null variant (#2528) 2023-08-27 17:31:29 +01:00
Tobie Morgan Hitchcock
a31d25d3c5
Support arbitrary number of arrays in array::concat() (#2526) 2023-08-27 11:40:49 +01:00
Tobie Morgan Hitchcock
e491789e20
Add null as a specific field type (#2524) 2023-08-27 11:22:27 +01:00
Tobie Morgan Hitchcock
a867eae362
Add more complete and complex test for SurrealQL functionality (#2520) 2023-08-26 14:13:48 +01:00
Tobie Morgan Hitchcock
2e49aad26a
Enable parsing raw values at base of query (#2508) 2023-08-26 12:08:16 +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
Mees Delzenne
e477dc9133
Fix build by upgrading rquickjs (#2509) 2023-08-24 15:05:28 +01:00
Przemyslaw Hugh Kaznowski
cbf933b319
Adding auth to live queries (#2307) 2023-08-24 15:04:57 +01:00
Tobie Morgan Hitchcock
a6ec9dbd02
Ensure edge in and out fields are not overwritten (#2506) 2023-08-24 09:19:19 +01:00
Tobie Morgan Hitchcock
1a4e310e46
Improve output of THROW errors (#2505) 2023-08-23 23:30:13 +01:00
Salvador Girones Gil
b5b6f6f1d4
[security] Introduce the Datastore capabilities (#2489) 2023-08-23 20:26:31 +01:00
Johnny Hauser
5945146459
Include define and remove statements in subquery #2459 (#2496) 2023-08-23 17:05:50 +01:00
Tobie Morgan Hitchcock
16a4c2c40e
Default to true if a WHEN clause is omitted on DEFINE EVENT statements (#2502) 2023-08-23 17:04:56 +01:00
Tobie Morgan Hitchcock
495f69d618
Ensure comments are output with DEFINE statements (#2500) 2023-08-23 17:04:42 +01:00
Tobie Morgan Hitchcock
b1275ed565
Ensure foreach range is computed before iterating over (#2492) 2023-08-22 17:45:22 +01:00
Tobie Morgan Hitchcock
ac35111833
Improve code blocks, foreach statements, and throw statements (#2490) 2023-08-22 12:26:05 +01:00
Rushmore Mushambi
9d89fa0d56
Simplify connect parameters (#2488) 2023-08-22 09:23:49 +00:00
Tobie Morgan Hitchcock
afdd0b3c85
Improve id field handling in the statement data clause (#2487) 2023-08-21 23:47:35 +01:00
Finn Bear
27cc21876d
Security - Limit parser depth. (#2369) 2023-08-21 22:05:11 +00:00
Mees Delzenne
77c889f356
Minor parser fixes (#2479) 2023-08-21 16:29:50 +01: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
Mees Delzenne
76b962eb6e
Lower parsing complexity for binary values and idioms (#2475) 2023-08-21 11:33:57 +01:00
Tobie Morgan Hitchcock
b350f052a7
Ensure ON DUPLICATE KEY UPDATE clause is displayed on INSERT statement (#2474) 2023-08-20 19:16:41 +01:00
Tobie Morgan Hitchcock
c2e695b897
Support whitespace in JavaScript function definition (#2473) 2023-08-20 14:14:53 +01:00
Yusuke Kuoka
3ea3c34f71
Fix random tikv tests after ts_to_vs test to not fail anymore (#2472) 2023-08-20 12:26:19 +01:00
Tobie Morgan Hitchcock
83be65125b
Temporarily ignore kvs::timestamp_to_versionstamp test (#2470) 2023-08-20 09:45:03 +01:00
Tobie Morgan Hitchcock
f01da5f577
Delay Record ID generation when using functions (#2469) 2023-08-20 04:27:20 +01:00
Tobie Morgan Hitchcock
1fd6d991ae
Implement DEFAULT value clause on DEFINE FIELD statements (#2468) 2023-08-20 03:53:50 +01:00
Tobie Morgan Hitchcock
71adbe6f5a
Ensure foreign tables are deleted fully when removed (#2467) 2023-08-20 02:07:15 +01:00
Tobie Morgan Hitchcock
dcc3c4fabb
Ensure records can be created correctly when using INSERT statement (#2466) 2023-08-20 00:34:41 +01:00
Tobie Morgan Hitchcock
e9ef8855cf
Ensure permissions are enforced on edge in and out fields (#2465) 2023-08-19 23:19:16 +01:00
Tobie Morgan Hitchcock
136d8f8eee
Add tests for DEFINE FIELD ... VALUE clauses with references and with futures (#2464) 2023-08-19 20:22:15 +01:00
Przemyslaw Hugh Kaznowski
1dfc58a8da
Fix live queries to check predicates against previous document instead of current (#2452) 2023-08-19 13:31:51 +01:00
Przemyslaw Hugh Kaznowski
ce6cfb7634
GC live queries when client disconnects (#2255) 2023-08-19 10:01:37 +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
41c9fd701e
Add ns/db/tb IDs for aliasing (#2441) 2023-08-18 09:00:06 +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
Przemyslaw Hugh Kaznowski
983ec1ba63
Add tx commits (#2443) 2023-08-16 18:56:17 +01:00
Przemyslaw Hugh Kaznowski
bba2420503
Resolve assert to unwrap (#2448) 2023-08-16 14:31:39 +01:00
Przemyslaw Hugh Kaznowski
d4b2ba9999
Add a commit to tb.rs (#2436) 2023-08-14 13:27:27 +01:00
Przemyslaw Hugh Kaznowski
150b303da9
Fix cluster init (#2434) 2023-08-14 13:27:03 +01:00
Przemyslaw Hugh Kaznowski
d9eaf0eaa3
Add warning log for dropped uncommitted write transactions (#2425)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-08-12 22:01:27 +00:00
Przemyslaw Hugh Kaznowski
ef75fc2a66
Add test for delete with live query predicates (#2430) 2023-08-11 23:22:53 +00:00
Rushmore Mushambi
78808bb44c
Refactor Lazy::new(|| Surreal::init()) to Lazy::new(Surreal::init) (#2432) 2023-08-11 22:11:24 +00:00
Przemyslaw Hugh Kaznowski
8678377efd
Refactored ds.rs to re-use and close write transaction (#2431) 2023-08-11 19:30:44 +01:00
hchockarprasad
8b1cb5ee1f
Fix merging of empty objects & arrays (#2347) 2023-08-11 15:47:54 +00:00
meppu
1a0116332a
Implement all JSON Patch operations (#2398) 2023-08-10 06:38:46 +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
Przemyslaw Hugh Kaznowski
87705098ab
Change kill id type to value (#2402)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-08-08 17:15:01 +00:00
Salvador Girones Gil
94f7fc01e7
[cargo] Use the surrealdb-tikv-client published to crates.io (#2416) 2023-08-08 16:41:45 +00:00
Yusuke Kuoka
77d11146e5
Use monotonic versionstamps with TiKV for now (#2411) 2023-08-08 16:07:31 +00:00
Salvador Girones Gil
ab72923fb5
[import] Provide descriptive error messages (#2377) 2023-08-03 14:06:08 +00:00
Salvador Girones Gil
5f9b79162b
[ci] Intruduce cargo-make to dry the workflows. Get rid of unused deps (#2372) 2023-08-03 10:55:06 +01:00
Aly
7221d8cae9
Fix setting id using arbitrary record IDs (#2367) 2023-08-01 18:47:08 +00:00
Mees Delzenne
57ff2443f1
Script function fixes (#2366) 2023-08-01 18:03:17 +00:00
Emmanuel Keller
ecba885eb8
Feat: btree serialisation + generic read/write tree cache (#2362) 2023-08-01 09:57:05 +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
d4f5bc937e
[iam] Restore $auth. Allow user-token signin for root users (#2363) 2023-07-31 16:06:40 +00:00
Mees Delzenne
c9078a116e
Add the value function for easy access to SurrealQL parameters and values. (#2355)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-07-29 21:16:48 +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
hchockarprasad
e61db5564c
Remove unused fuzz dict (#2356) 2023-07-29 18:38:53 +00:00
Yusuke Kuoka
860796ba86
Add Change Feeds GC (#2339) 2023-07-29 08:51:30 +00:00
Yusuke Kuoka
89a9ac4168
Use non-monotonic versionstamps with TiKV by default (#2343) 2023-07-29 08:42:09 +00:00
Finn Bear
5f0aaa0973
Bugfix #2345 - allow keyword as ident prefix. (#2349) 2023-07-27 08:14:55 +00:00
Raphael Darley
c25b85669b
feature: Add config for query/transaction timeout and notifications (#2340) 2023-07-26 11:54:48 +00:00
Mees Delzenne
278e27db87
Implement support for running queries in script functions. (#2331) 2023-07-26 07:54:07 +00:00
Yusuke Kuoka
5b8fec93d7
Bump surrealdb-tikv-client to 0.2.0-surreal.1 (#2334) 2023-07-25 12:24:36 +00:00
Przemyslaw Hugh Kaznowski
e309ee6df2
Change lq from uuid::Uuid to sql::Uuid (#2289) 2023-07-24 16:15:45 +00:00
Yusuke Kuoka
d36ece79de
feat: Change Feeds Enabling/Writing/Reading (#2306) 2023-07-24 16:15:20 +00:00
hchockarprasad
432a6cc5b8
Add time::min & time::max function (#2320) 2023-07-23 08:19:28 +00:00
Yusuke Kuoka
840b1ae24f
Bump surrealdb-tikv-client to 0.1.0-surreal.2 (#2322) 2023-07-23 08:19:20 +00:00
Przemyslaw Hugh Kaznowski
bfaa430103
Fix Node LQ to reflect correct path (#2301) 2023-07-21 21:30:59 +00:00
Emmanuel Keller
0b56d5c6c6
feat: WITH clause on SELECT statement (#2304) 2023-07-21 18:41:36 +00:00
Emmanuel Keller
b66e537f98
Unique index should ignore none or null values (#2313) 2023-07-21 18:40:59 +00:00
Rushmore Mushambi
a2f4d6776d
impl Clone for Any (#2309) 2023-07-21 14:54:15 +00:00
Emmanuel Keller
063f4e6665
feat: implements Multi-index execution plan (#2280) 2023-07-20 12:56:32 +00:00
Mees Delzenne
cacd9a1de9
Add tests for http functions (#2286) 2023-07-20 12:46:11 +00:00
Micha de Vries
cbbde1fae1
Allow deletion of records on DROP tables (#2298) 2023-07-20 09:22:16 +00:00
Tobie Morgan Hitchcock
773cb5f130
Add insert method to WebSocket RPC endpoint (#2296) 2023-07-20 09:19:36 +00:00
hchockarprasad
88bcc87d39
Add array::at function (#2294) 2023-07-20 08:27:04 +00:00
Tobie Morgan Hitchcock
09dde86e73
Allow for DIFFs in notifications for simple live queries (#2290) 2023-07-19 16:19:19 +00:00
AyushChothe
b98ade2ca8
Live queries Response and Notifications Uuid serialization fixed (#2232)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
Co-authored-by: Przemyslaw Hugh Kaznowski <hugh@surrealdb.com>
2023-07-19 15:41:50 +00:00
hchockarprasad
eef9b755cb
Add first, last functions to array (#2285) 2023-07-19 14:23:07 +00:00
Tobie Morgan Hitchcock
87dee375a8
Fix model range increments (#2281) 2023-07-19 14:00:06 +00:00
Przemyslaw Hugh Kaznowski
769ed5ab85
Sur 253 Change Cl->Nd, rework key/mod (#2257)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-07-18 18:32:38 +00:00
Mees Delzenne
76519b9c31
Fix stub fetch functions (#2276) 2023-07-17 15:31:50 +00:00
Mees Delzenne
c9414a1165
Update rquickjs, attempt two. (#2275) 2023-07-17 13:40:58 +00:00
Emmanuel Keller
98a482e471
Implements additional function for vectors (#2266) 2023-07-16 13:04:22 +00:00
hchockarprasad
a2ef2d83df
Make what parser to parse idioms as well (#2243) 2023-07-15 16:26:36 +00:00
hchockarprasad
7f4d2e4849
Update dependency and fix build (#2268) 2023-07-15 15:46:34 +00:00
Tobie Morgan Hitchcock
1d6c12e777
Update dependencies and reduce log traces (#2265) 2023-07-15 13:18:44 +01:00
Tobie Morgan Hitchcock
a12348db8e
Path processing improvements (#2250) 2023-07-15 07:08:26 +00:00
Yusuke Kuoka
3a34821dc0
chore: Add versionstamp oracle prototype for change feeds (#2220)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-07-14 23:51:37 +00:00
Rushmore Mushambi
cab0540432
Drop build metadata from the library version (#2263) 2023-07-14 23:01:10 +00:00
Rushmore Mushambi
c998584f49
Add unit tests for into_json (#2254) 2023-07-14 23:01:02 +00:00
Eduardo Pereira de Sousa
b3a1b39236
Feature: Add additional functions for comparing strings for similarity. (#1904)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-07-14 20:37:52 +00:00
Tim
b83cd86f9d
Feature: 1903 Basic Vector Functions (#1907)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
Co-authored-by: Emmanuel Keller <emmanuel.keller@surrealdb.com>
2023-07-14 18:00:07 +00:00
Tobie Morgan Hitchcock
5c08be973d
Revert "Update js functions to new rquickjs version" (#2262) 2023-07-14 16:01:12 +00:00
Mees Delzenne
4f4339848e
Update js functions to new rquickjs version (#2252) 2023-07-14 13:35:32 +00:00
Emmanuel Keller
1e30eb4aa1
feat: Implements SELECT/EXPLAIN FULL (#2258) 2023-07-14 12:22:37 +00:00
Przemyslaw Hugh Kaznowski
ac213d69bb
Sur 191 self garbage collection 2 (#2137)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-07-13 13:44:54 +00:00
Emmanuel Keller
ee3a1c211f
Select/Explain should only return the explanation (#2256) 2023-07-13 10:12:34 +00:00
Finn Bear
ce9430d1ac
Bugfix #2175 - Allow escape characters in scripts (#2253) 2023-07-13 08:06:12 +00:00
Emmanuel Keller
1d68fd5622
Improve index BTree insertion & search performance (#2240) 2023-07-11 18:22:31 +00:00
Yusuke Kuoka
602ffda466
chore: Data models for Change Feed (#2221) 2023-07-10 08:34:33 +00:00
Emmanuel Keller
75fc006c21
Ensure index resources are properly deleted on index deletion (#2234) 2023-07-10 08:24:47 +00:00
hchockarprasad
bb61ee7ff9
Add thing as scalar node for indexing (#2239)
Co-authored-by: Emmanuel Keller <emmanuel.keller@surrealdb.com>
2023-07-10 08:19:37 +00:00
JustAnotherCodemonkey
a10b9cbb75
Feature for #2065: Add array functions to reduce JS slowdown. (#2156)
Co-authored-by: Mees Delzenne <DelSkayn@users.noreply.github.com>
2023-07-10 08:15:18 +00:00
Tobie Morgan Hitchcock
cf4c8c5f5d
Increase stack size for complex parser tests (#2242) 2023-07-10 06:24:18 +00:00
Tobie Morgan Hitchcock
ea76b01ce4
Minor improvements to live queries (#2230) 2023-07-07 20:05:58 +01:00
Emmanuel Keller
cf4cfc1908
processor micro-benchmark (#2216) 2023-07-07 18:43:16 +00:00
Przemyslaw Hugh Kaznowski
8e5f2a85cc
Add KV tests to confirm keys are being serialised the right way (#2166) 2023-07-06 18:51:31 +00:00
Tobie Morgan Hitchcock
b33223562a
Add two failing index tests (#2125) 2023-07-06 16:46:49 +00:00
Emmanuel Keller
e9eeb9aca7
QueryPlanner / indexing / Context / Cursor doc (#2229) 2023-07-06 14:57:42 +00:00
Tobie Morgan Hitchcock
4b690c763b
Improve datastore configuration options (#2227) 2023-07-05 21:26:13 +00:00
Emmanuel Keller
67687496c6
Fix context cancellation issue (#2212) 2023-07-05 13:30:44 +00:00
Rushmore Mushambi
20ee2f1dc6
Remove manual log targets (#2214) 2023-07-04 21:02:10 +00:00