Commit graph

345 commits

Author SHA1 Message Date
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
Tobie Morgan Hitchcock
31ccb0c904
Enable inner field access on sql::Geometry types (#2203) 2023-07-01 21:04:24 +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
Emmanuel Keller
1b73d3e4e4
feat: the query planner should support params (#2200) 2023-06-30 16:51:03 +00:00
Rushmore Mushambi
699880f155
Print tracing logs for cargo test when RUST_LOG is set (#2198) 2023-06-30 11:43:19 +00:00
Emmanuel Keller
1c6ada0f69
BM25 without parameters (#2197) 2023-06-30 11:35:02 +00:00
Emmanuel Keller
73a4e54ad5
Bugfix - matches operator returns results on non-matching terms (#2185) 2023-06-26 18:23:05 +00:00
Emmanuel Keller
6d5dcfadd9
Feature - Full-text search scoring function (#2158) 2023-06-23 21:26:19 +01:00
Emmanuel Keller
f688eb4ef5
Fixes highlighting bug (out or range for slice length...) (#2169) 2023-06-23 11:58:51 +00:00
Emmanuel Keller
8e64750a60
Feature - Search highlighting (#2132) 2023-06-21 19:31:15 +01:00
Finn Bear
41e119a5f5
Feature - unary operators (#2139) 2023-06-21 00:31:23 +01:00
Nrishinghananda Roy
5485883d3c
Fix multiple Clippy Lints (#2159) 2023-06-20 12:48:20 +01:00
Tobie Morgan Hitchcock
a1b1fead7b
Ensure formatting and linting are properly checked (#2154) 2023-06-19 22:35:19 +00:00
Emmanuel Keller
668d3fd8fb
Introduce query planner and indexing (#1899) 2023-06-19 19:41:13 +01:00
Rushmore Mushambi
6f79f1556a
Test FoundationDB (#1889) 2023-06-13 20:55:38 +00:00
Gustavo
e42c8fdb1a
fix: Value equal implementation in the Bool match case (#2129)
Co-authored-by: tavindev <tavindev>
2023-06-13 18:00:16 +00:00
Finn Bear
c45fd12509
Feature - Use rust_decimal (128b) instead of bigdecimal ("arbitrary" precision) (#1991) 2023-06-09 15:23: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
Marta Sanchez
496d16242f
Change data returned by the INFO statement (#2078)
Co-authored-by: Marta <marta@Salvadors-Laptop.local>
2023-05-31 12:35:29 +00:00