Commit graph

1066 commits

Author SHA1 Message Date
Maxwell Flitton
2ae8416791
Add support for ML model storage and execution (#3015) 2023-12-12 13:51:43 +00:00
Mees Delzenne
01a07b7c91
Fix clippy warnings in tests (#3101) 2023-12-09 20:25:50 +00:00
Rushmore Mushambi
846282f5ae
Support pre-release servers (#3094) 2023-12-08 09:18:38 +00:00
Micha de Vries
daf02dc4e6
INSERT should respect unique indexes (#3092) 2023-12-07 14:45:12 +00:00
Emmanuel Keller
c3a3116700
Temporarily ignore flaky mtree test (#3086) 2023-12-07 10:03:14 +00:00
Micha de Vries
d658a0a3fb
Always display permissions (#3083) 2023-12-06 21:30:18 +00:00
Mees Delzenne
42f506a916
Bugfix: Fix inconsistant record parsing (#3076) 2023-12-06 00:08:16 +00:00
Micha de Vries
aac8ec8a36
Default table permissions should be NONE (#3074) 2023-12-06 00:06:53 +00:00
Salvador Girones Gil
e4aa85a843
[rocksdb/speedb] Define keep_log_file_num. Default to 20 (#3064) 2023-12-04 13:17:27 +01:00
Gerard Guillemas Martos
06504873f6
Merge pull request from GHSA-6r8p-hpg7-825g
* Dive before parsing 'ifelse' and basic idioms

* Check 'get' path length before recursing

* Add tests to check for intended behaviour

* Remove unused import

* Use correct name for parsed entity

* Add comment
2023-12-04 10:46:21 +01:00
Gerard Guillemas Martos
bc4ffcb4cf
Revert to using legacy authentication in signin by default (#3052)
Co-authored-by: Salvador Girones Gil <salvadorgirones@gmail.com>
2023-12-04 08:47:37 +00:00
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
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
Mees Delzenne
a97d749b8a
Implement string prefixes for old parser. (#3031) 2023-11-27 19:12:36 +00:00
Micha de Vries
d51d69d35a
Make SELECT ONLY deterministic (#3025) 2023-11-26 20:11:41 +00:00
Noyan Alimov
a58ad52acd
made array::flatten function aggregate (#3018) 2023-11-25 15:23:19 +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
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
Tobie Morgan Hitchcock
9c0d107588
Improve RocksDB and SpeeDB performance (#3000) 2023-11-20 18:47:44 +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
Tobie Morgan Hitchcock
5b23602359
Improve performance of CREATE statements, and record insertion (#3001) 2023-11-20 18:13:34 +00:00
Rushmore Mushambi
7d75fe1877
Drop uuid_unstable as it is no longer necessary (#3009) 2023-11-20 17:42:44 +00:00
Gerard Guillemas Martos
2584970b1d
Update third-party dependencies (#3005) 2023-11-20 15:50:37 +00:00
Micha de Vries
5da77aa1ef
Env flag: SURREAL_INSECURE_FORWARD_SCOPE_ERRORS (#3003)
Co-authored-by: Salvador Girones Gil <salvadorgirones@gmail.com>
Co-authored-by: Tobie Morgan Hitchcock <tobie@surrealdb.com>
2023-11-20 14:54:27 +00:00
Mees Delzenne
256a08a396
Factor out the parser into its own module. (#2979) 2023-11-18 13:56:13 +00:00
Salvador Girones Gil
b0be22360e
[bench] New benchmarks against different datastores (#2956) 2023-11-18 13:55:01 +00:00
Emmanuel Keller
7a34452262
Bug fix: possible corruption of MTree and incomplete knn (#2986) 2023-11-18 07:26:11 +00:00
Micha de Vries
afb9f49c2f
Pass IP & Origin onto session used by scope queries (#2991) 2023-11-17 21:33:11 +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
Fredrik Bondza
57724a27ca
Change math::median indexing for even length arrays (#2971) 2023-11-13 16:43:06 +00:00
Emmanuel Keller
0bdfbfe5df
Support of subfields for embedding indexing (#2967) 2023-11-13 16:11:38 +00:00
Mees Delzenne
d5ec59a039
Bugfix: Fix identifiers which look like numbers failing to parse. (#2972)
Co-authored-by: Salvador Girones Gil <salvadorgirones@gmail.com>
2023-11-13 16:06:00 +00:00
Mees Delzenne
bdb68c9eaa
Bugfix: Fix ORDER BY RAND() failing to parse when selecting specific fields. (#2964) 2023-11-10 18:36:52 +00:00
Emmanuel Keller
ca2c1560da
Repetitive expressions and idioms are not anymore re-evaluated (#2935) 2023-11-08 10:06:52 +00:00
Yusuke Kuoka
cf040b36ba
Make Remove{Table,Database,Namespace} faster for TiKV and FDB (#2915) 2023-11-01 16:01:00 +00:00
Micha de Vries
ed60a35b9b
Forward custom thrown errors in SIGNIN and SIGNUP queries (#2902) 2023-10-28 12:39:46 +00:00
Przemyslaw Hugh Kaznowski
4b255efaea
Make cluster tick handle errors and rollback gracefully (#2860) 2023-10-26 22:47:12 +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
Przemyslaw Hugh Kaznowski
42cff67bd1
Fix cluster startup to handle stray heartbeats (#2891) 2023-10-26 15:24:46 +00:00
Micha de Vries
38e0aa4aa9
Ability to cast string to a Thing/Record ID (#2834) 2023-10-26 13:18:49 +00:00
Przemyslaw Hugh Kaznowski
7d5d6c4325
Revert breaking change on key clash and introduce new error (#2823) 2023-10-26 13:17:31 +00:00
Micha de Vries
05907db1ea
Fix #2513 - Query results should be consistent and representative (#2887) 2023-10-26 10:05:44 +00:00
Mees Delzenne
7f935c17fe
Bugfix: fix bug where error offset could underflow. (#2859) 2023-10-25 21:14:17 +00:00
Mees Delzenne
66810fd36b
Allow a model to take multiple arguments (#2890) 2023-10-25 11:38:03 +00:00
hchockarprasad
cfdd7c195c
Fix index plan for idiom param value (#2865) 2023-10-25 10:24:04 +00:00
Finn Bear
4c1ceac6eb
Feature #2720 - add remainder aka modulo operator. (#2868) 2023-10-23 13:37:21 +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
Przemyslaw Hugh Kaznowski
872c6d9764
Add new clocks (#2778)
Co-authored-by: Raphael Darley <raphael@raphaeldarley.com>
2023-10-18 08:56:22 +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
Finn Bear
3a3125d030
Optimize time::from::nanos function. (#2811) 2023-10-18 08:53:25 +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
8b2ae9fc99
Bugfix: Fix wrong function name export and function name parsing (#2786) 2023-10-04 12:02:20 +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
Przemyslaw Hugh Kaznowski
67fa54d792
Introduce key clash errors (#2558)
Co-authored-by: Emmanuel Keller <keller.emmanuel@gmail.com>
2023-09-27 10:35:01 +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
Finn Bear
fba24969b6
Bugfix - parse error for invalid leading whitespace. (#2703) 2023-09-22 19:43:20 +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
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
Przemyslaw Hugh Kaznowski
1a85f4967a
Add kv unit tests verify write+scan (#2682) 2023-09-12 17:45:46 +01:00
Emmanuel Keller
34fc0cc6e6
Bug fix: query planner double index (#2690) 2023-09-12 17:36:43 +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
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
Finn Bear
bbc077fc0e
Bugfix - prevent infinite parser recursion in stmts & binary exprs. (#2675) 2023-09-12 12:03:52 +01:00
Finn Bear
82e0d85da0
Bugfix - avoid panics when displaying error snippets. (#2674) 2023-09-12 11:34:17 +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
248829cf8a
Ensure live queries are killed correctly (#2676) 2023-09-12 10:38:28 +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
8e22ea66e3
Ensure invalid sessions do not cause live queries to fail (#2672) 2023-09-11 19:10:46 +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
Tobie Morgan Hitchcock
a4856327cf
Fix authentication issues with LIVE SELECT statements (#2661) 2023-09-10 11:58:50 +01:00
Tobie Morgan Hitchcock
9f33d5dc27
Ensure scope SIGNUP and SIGNIN works with guest access disabled (#2663) 2023-09-10 11:41:28 +01:00
Tobie Morgan Hitchcock
b83b9d3e3e
Ensure DEFAULT clause is displayed on DEFINE FIELD statements (#2662) 2023-09-10 10:48:31 +01:00
Rushmore Mushambi
bee0e950a5
Compute local variables before storing them (#2652) 2023-09-08 19:24:12 +01:00
Salvador Girones Gil
91cc18c411
[instrument] Move traces to debug (#2653) 2023-09-08 19:21:25 +01:00
Przemyslaw Hugh Kaznowski
93d82146fb
Cluster bootstrapping LQ GC now warns instead of panics (#2611) 2023-09-08 19:18:51 +01:00
Salvador Girones Gil
b1ae2b4094
[dbs/processor] Reduce batch size for scan operations (#2651) 2023-09-08 16:53:26 +01:00
Adminy
6877e9d1a1
clear auth failure messages (#2635) 2023-09-08 14:27:38 +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
Finn Bear
0a0755c5a8
Bugfix #2633 - export surrealdb::sql::With (#2634) 2023-09-06 05:21:33 +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
Salvador Girones Gil
4de6775aa4
[statements] Fix NS/DB validation (#2630) 2023-09-05 16:20:07 +01:00
Rushmore Mushambi
4259e05413
Fix relative paths (#2615) 2023-09-05 07:38:39 +01:00
Finn Bear
e9821ee09e
Experimental Bugfix - consolidate execution depth limit. (#2616) 2023-09-04 23:51:33 +01:00
Finn Bear
64c0b8b471
Bugfix - impl Try{Add, Sub, Mul, Div, Pow, Neg} for Number. (#2613) 2023-09-04 19:53:03 +01:00
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
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
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