Commit graph

294 commits

Author SHA1 Message Date
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