Commit graph

365 commits

Author SHA1 Message Date
Emmanuel Keller
0e3fb7b365
Bug fix: Implements the union strategy on unique indexes (#3674) 2024-03-12 08:58:22 +00:00
Mees Delzenne
87da9c0b01
Fix warnings (#3634) 2024-03-08 10:58:07 +00:00
Emmanuel Keller
1784a1202e
Check that objects properties are recognized by the query planner (#3643) 2024-03-07 16:45:05 +00:00
Emmanuel Keller
686a140d80
Support of IN operator in the planner (#3640) 2024-03-06 23:41:48 +00:00
Micha de Vries
e637a538d2
Implement IF NOT EXISTS-clause on DEFINE-statements (#3584) 2024-03-06 13:24:24 +00:00
Przemyslaw Hugh Kaznowski
7ae882921c
Unflake bootstrap test (#3636) 2024-03-06 12:42:28 +00:00
Emmanuel Keller
5534a70431
Bug fix: Restore cosine distance on MTree indexes (#3614) 2024-03-06 09:29:19 +00:00
Micha de Vries
50b4b07b38
Implement IF EXISTS for additional REMOVE-statements (#3377)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
Co-authored-by: Rushmore Mushambi <rushmore@surrealdb.com>
2024-03-05 19:28:38 +00:00
Mees Delzenne
807b4681fa
Change KNN operator syntax. (#3617)
Co-authored-by: Emmanuel Keller <emmanuel.keller@surrealdb.com>
2024-03-05 16:01:17 +00:00
Emmanuel Keller
4eba4a61ab
The query planner should accept Datetime and Uuid values (#3626) 2024-03-05 15:10:43 +00:00
Przemyslaw Hugh Kaznowski
2914641827
Fix linting issues in main February 2024 (#3595) 2024-03-01 12:51:32 +00:00
Rushmore Mushambi
9d2fe88717
Add Surreal::wait_for (#3581) 2024-02-29 12:09:01 +00:00
Przemyslaw Hugh Kaznowski
888184f50f
Add notifications for LQ v2 on CF (#3480)
Co-authored-by: Mees Delzenne <DelSkayn@users.noreply.github.com>
2024-02-27 15:18:25 +00:00
Micha de Vries
25c704a77f
Fix document not being available to delete permissions clause (#3555) 2024-02-21 10:04:45 +00:00
Przemyslaw Hugh Kaznowski
b52d630c4b
Adjust live statement to avoid storage on live query (#3523) 2024-02-20 14:32:37 +00:00
Przemyslaw Hugh Kaznowski
7b0771acb7
Change Feed stores original value of difference (#3420) 2024-02-20 11:11:49 +00:00
Farhan
485a224bcd
Add SurrealKV as an experimental backend store (#3451) 2024-02-15 20:47:10 +00:00
Emmanuel Keller
06a06338b2
Bug fix: In some conditions iteration stages would avoid iterating (#3513) 2024-02-15 11:32:20 +00:00
Mees Delzenne
3ccca6636b
Improve the js-surql value conversion for numbers (#3460) 2024-02-12 11:57:41 +00:00
Rushmore Mushambi
da94438e06
Revert "Bugfix: Compute futures in query conditions" (#3476) 2024-02-11 16:48:22 +00:00
Rushmore Mushambi
454509e4d1
Update dependencies and add ml2 feature (#3385) 2024-02-09 19:31:16 +00:00
Mees Delzenne
9ff0fade50
Bugfix: Fix a panic when invalid builtin function names are passed to the executor (#3454) 2024-02-07 15:13:40 +00:00
Rushmore Mushambi
2ee33e7bdb
Revert breaking changes from sql1 (#3433) 2024-02-05 16:21:23 +00:00
Rushmore Mushambi
690dd55a86
Extract core lib into a standalone crate (#3423)
Co-authored-by: Gerard Guillemas Martos <gerard.guillemas@surrealdb.com>
2024-02-02 22:10:47 +00:00
Tobie Morgan Hitchcock
7f39754ec2
Fix: Ensure path idioms are correct when looping over (#3363) 2024-01-22 20:48:35 +00:00
Mees Delzenne
6592ba4368
Feature: Define types for subfields when defining fields. (#3146) 2024-01-22 07:24:14 +00:00
Micha de Vries
650eb8ed5d
Feature: Add READONLY keyword to DEFINE FIELD statement (#3152) 2024-01-19 16:58:54 +00:00
Gustavo
334c117a48
Feature: Add IF EXISTS to REMOVE TABLE statement (#3243)
Co-authored-by: Mees Delzenne <DelSkayn@users.noreply.github.com>
Co-authored-by: Micha de Vries <micha@devrie.sh>
2024-01-19 14:02:07 +00:00
Rushmore Mushambi
c5138245a0
Add support for LIVE SELECT in the SDK and CLI (#3309) 2024-01-16 11:48:29 +00:00
Gerard Guillemas Martos
618a4d1b42
Fix: Panic invoking parameters and functions without a database (#3297) 2024-01-10 17:56:13 +00:00
Mees Delzenne
2755f572fc
Introduce new experimental parser (#2885)
Co-authored-by: Raphael Darley <raphael@raphaeldarley.com>
2024-01-10 16:43:56 +00:00
Emmanuel Keller
310213f5e4
Feat: knn brute force (#3043)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2024-01-09 16:57:52 +00:00
Rushmore Mushambi
8bfdab31f2
bugfix: Ensure an attempt to set a protected variable returns an error (#3216)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2024-01-05 11:28:01 +00:00
Rushmore Mushambi
23d67305f5
Fix deserialisation and HTTP engine regressions (#3180) 2023-12-20 10:31:19 +00:00
Mees Delzenne
953e496e7d
Bugfix: Compute futures in query conditions (#3118) 2023-12-19 09:17:48 +00:00
Emmanuel Keller
66063f11cd
Bug fix: Issue with scoring on complex queries (#3174) 2023-12-19 08:56:04 +00:00
Mees Delzenne
e5fb44fabd
Bugfix: Respect alias for dynamic field queries with type::field. (#3163) 2023-12-15 21:52:09 +00:00
Mees Delzenne
a7f186424e
Bugfix: Prevent overflow in math::power (#3162) 2023-12-15 21:50:34 +00:00
Micha de Vries
f66b7c8eec
Expand logic for static value validation (#3151) 2023-12-14 21:23:58 +00:00
Emmanuel Keller
a6c50cb5f5
Feat: In Memory index store (#3020) 2023-12-13 13:37:24 +00:00
Maxwell Flitton
2ae8416791
Add support for ML model storage and execution (#3015) 2023-12-12 13:51:43 +00:00
Micha de Vries
daf02dc4e6
INSERT should respect unique indexes (#3092) 2023-12-07 14:45:12 +00:00
Micha de Vries
d658a0a3fb
Always display permissions (#3083) 2023-12-06 21:30:18 +00:00
Micha de Vries
aac8ec8a36
Default table permissions should be NONE (#3074) 2023-12-06 00:06:53 +00:00
Micha de Vries
6e7c22e3b0
Optional function arguments should be optional (#3036) 2023-11-27 21:38:05 +00:00
Micha de Vries
81d82c6110
Basic object:: functions (#3033) 2023-11-27 19:14:41 +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
Micha de Vries
d51d69d35a
Make SELECT ONLY deterministic (#3025) 2023-11-26 20:11:41 +00:00
Emmanuel Keller
9ead2cdbb6
MTree fully tested with Euclidean and Manhattan distances (#3006) 2023-11-21 21:25:00 +00:00
Micha de Vries
aa8591c7f4
Implement type::is::none() function (#3011) 2023-11-21 09:03:06 +00:00
Emmanuel Keller
6efd3e3d87
Feat: Analyzers to support functions (#2974)
Co-authored-by: Yusuke Kuoka <ykuoka@gmail.com>
2023-11-20 18:36:21 +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
Emmanuel Keller
0bdfbfe5df
Support of subfields for embedding indexing (#2967) 2023-11-13 16:11:38 +00:00
Micha de Vries
ed60a35b9b
Forward custom thrown errors in SIGNIN and SIGNUP queries (#2902) 2023-10-28 12:39:46 +00:00
Emmanuel Keller
b8ff68b464
Feat: Indexes used with the operators CONTAINS[ANY|ALL] (#2879) 2023-10-26 21:34:28 +00:00
Emmanuel Keller
08ac7579d1
Feat: Implements MTree index deletions (#2738) 2023-10-26 22:33:06 +01:00
Micha de Vries
38e0aa4aa9
Ability to cast string to a Thing/Record ID (#2834) 2023-10-26 13:18:49 +00:00
Micha de Vries
05907db1ea
Fix #2513 - Query results should be consistent and representative (#2887) 2023-10-26 10:05:44 +00:00
hchockarprasad
cfdd7c195c
Fix index plan for idiom param value (#2865) 2023-10-25 10:24:04 +00:00
Przemyslaw Hugh Kaznowski
872c6d9764
Add new clocks (#2778)
Co-authored-by: Raphael Darley <raphael@raphaeldarley.com>
2023-10-18 08:56:22 +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
Emin Fedar
e6a8f598fe
feat: improve time module (#2800) (#2801) 2023-10-08 00:46:40 +00:00
Tristan F
9a554e4370
fix: interchangable limit & order (#2774) 2023-10-04 09:53:46 -04:00
Przemyslaw Hugh Kaznowski
c6f6ca8062
Improve bootstrapping for finding invalid data from beta versions. (#2700)
Co-authored-by: Raphael Darley <raphael@raphaeldarley.com>
2023-10-04 13:06:58 +00:00
Mees Delzenne
d9fa31f745
Fix clippy warnings in tests and clippy check tests in CI (#2779) 2023-10-04 09:51:34 +00:00
Jan S
74ad693709
Fix typos (#2764) 2023-09-28 09:17:29 +00:00
Raphael Darley
db5fb6df63
Switch transaction to enum from bool (#2743) 2023-09-26 13:02:53 +00:00
Micha de Vries
a0072cf133
Improve type::is::record() method (#2736) 2023-09-22 19:44:28 +00:00
Emmanuel Keller
0772a8c592
Feature: Vector Search: mtree index + knn operator (#2546)
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-09-12 21:26:03 +01:00
Yusuke Kuoka
c51912ab81
Record table (re)definitions into change feeds (#2671)
Co-authored-by: Yusuke Kuoka <yusuke.kuoka@surrealdb.com>
2023-09-12 16:55:07 +01:00
Emmanuel Keller
e4c6d817c4
Feature: Support of range queries in the query planner (#2656) 2023-09-12 16:43:32 +01:00
Yusuke Kuoka
3ab03b00a8
Fix change feeds enabled at the database-level (#2688)
Co-authored-by: Yusuke Kuoka <yusuke.kuoka@surrealdb.com>
2023-09-12 14:57:27 +00:00
Rushmore Mushambi
3c48558ca2
Fix decimal deserialisation (#2687) 2023-09-12 15:34:58 +01:00
Yusuke Kuoka
5446666e7d
Fix panic on commit when defining db and tb in strict mode (#2684)
Co-authored-by: Yusuke Kuoka <yusuke.kuoka@surrealdb.com>
Co-authored-by: Mees Delzenne <mees.delzenne@gmail.com>
2023-09-12 15:33:24 +01:00
Micha de Vries
5bfe598a96
Process scripting functions before "type::*" functions (#2681)
Co-authored-by: Mees Delzenne <mees.delzenne@gmail.com>
2023-09-12 11:14:09 +01:00
Tobie Morgan Hitchcock
28368d83c9
Add live queries to INFO FOR TB statement (#2673) 2023-09-11 20:35:32 +01:00
Tobie Morgan Hitchcock
592a1b7c7e
Add $before and $after params to RETURN clauses (#2665) 2023-09-10 19:22:41 +01:00
Tobie Morgan Hitchcock
c3acab4614
Support FOR statements inside code blocks (#2664) 2023-09-10 12:30:30 +01:00
Mees Delzenne
b02567d233
Improved error messages (#2566) 2023-09-08 11:28:36 +00:00
Emmanuel Keller
fe78ca3c32
Feature: Add fallback reason to the explanation (#2647) 2023-09-07 23:36:39 +00:00
Tobie Morgan Hitchcock
e316498e96
Add ONLY keyword for single result outputs (#2624) 2023-09-05 16:22:13 +01:00
Tobie Morgan Hitchcock
e008745a54
Allow any value to be used for error type in THROW statement (#2618) 2023-09-05 16:21:34 +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
Mees Delzenne
48a2bb52ac
Provide existing context to functions called from scripting functions (#2605) 2023-09-04 12:12:24 +00:00
Tobie Morgan Hitchcock
fc7f5cb0b0
Support variable field projection with type::field() and type::fields() (#2552) 2023-08-31 13:06:10 +01: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
Mees Delzenne
daf6743c4e
Miscellaneous parser improvements (#2515) 2023-08-29 11:50:00 +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
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
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
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
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
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
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
Przemyslaw Hugh Kaznowski
ef75fc2a66
Add test for delete with live query predicates (#2430) 2023-08-11 23:22:53 +00:00
Rushmore Mushambi
61f4580ba8
Switch to std::sync::OnceLock and fix Surreal::clone (#2370) 2023-08-10 06:33:38 +00:00
Aly
7221d8cae9
Fix setting id using arbitrary record IDs (#2367) 2023-08-01 18:47:08 +00:00
Emmanuel Keller
ecba885eb8
Feat: btree serialisation + generic read/write tree cache (#2362) 2023-08-01 09:57:05 +00:00
Emmanuel Keller
b485d9cc3d
Feat: Support of (un)flattened fields in indexing (#2327) 2023-08-01 07:30:13 +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
Yusuke Kuoka
860796ba86
Add Change Feeds GC (#2339) 2023-07-29 08:51:30 +00:00
Mees Delzenne
278e27db87
Implement support for running queries in script functions. (#2331) 2023-07-26 07:54:07 +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
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
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
hchockarprasad
88bcc87d39
Add array::at function (#2294) 2023-07-20 08:27:04 +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
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
Tobie Morgan Hitchcock
a12348db8e
Path processing improvements (#2250) 2023-07-15 07:08:26 +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
Emmanuel Keller
1e30eb4aa1
feat: Implements SELECT/EXPLAIN FULL (#2258) 2023-07-14 12:22:37 +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
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
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