Commit graph

184 commits

Author SHA1 Message Date
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
Emmanuel Keller
8e48604e20
Add initial full-text search indexer implementation (#1779) 2023-05-29 12:46:41 +01:00
Rushmore Mushambi
9cd25566ac
Fix deserialising HTTP query responses (#2045) 2023-05-26 11:36:37 +01:00
Finn Bear
a81d427c02
Refactor - Use floats for math and cvt'ing from JS numbers, integer division truncates (#2032) 2023-05-23 07:10:09 +01:00
Finn Bear
db345a2ce7
Bugfix - time::ceil function edge case. (#1976) 2023-05-12 13:59:58 -04:00
Finn Bear
01b280623c
Feature #1973 - Add time::ceil function. (#1975) 2023-05-11 14:46:36 -04:00
Emmanuel Keller
848be4dafb
Implements analyzer definition (#1705) 2023-05-09 22:08:09 -04:00
Tobie Morgan Hitchcock
19b0920e15
Ensure Idiom paths result in writeable transactions where necessary (#1957) 2023-05-09 18:17:29 -04:00
Finn Bear
ccc16fa9a7
Feature - Expand support for Bytes (#1898) 2023-05-09 16:43:16 -04:00
Finn Bear
3d76645908
Bugfix #1946 - allow 4X deeper computation by default, make limit configurable (#1950) 2023-05-09 07:37:07 +01:00
Tobie Morgan Hitchcock
bfbadc6fdd
Ensure user $input is accessible with all Data pattern types (#1945) 2023-05-07 13:33:32 +01:00
Rushmore Mushambi
107e5b5dba
Support switching namespaces and databases separately (#1927) 2023-05-05 19:12:19 +01:00
Jan Tebernum
e9ebecfdd6
Feature: Implementation of array::join (#1920) 2023-05-04 21:38:02 +01:00
Jan Tebernum
1cd00cf3fc
Feature: Add function string::contains (#1906) 2023-05-03 11:40:17 +01:00
Tobie Morgan Hitchcock
453d368e69
Add integration tests for the built-in SQL functions (#1893) 2023-04-30 19:34:26 +01:00
Rushmore Mushambi
91e949248d
Unify serialisation (#1881) 2023-04-29 16:58:22 +01:00
Rushmore Mushambi
141eb091a6
Bypass deserialisation for sql::Value responses on Surreal methods (#1875) 2023-04-28 12:20:57 +01:00
Tobie Morgan Hitchcock
66b105dac0
Add support for stricter typings (#1861)
Co-authored-by: Rushmore Mushambi <rushmore@surrealdb.com>
2023-04-25 11:13:04 +01:00
Tobie Morgan Hitchcock
ee24f8d6a0 Ensure array::remove() function works correctly
Closes #1831
2023-04-20 19:23:13 +01:00
Rushmore Mushambi
8eac52315b
Fix HTTP string errors deserialization (#1821) 2023-04-19 09:46:37 +01:00
Finn Bear
28bd007f72
Limit the number of concurrent futures run when fetching remote records (#1824) 2023-04-18 22:32:29 +01:00
Finn Bear
c9a9336fdc
Improve performance and security of simple JSON parser (#1813) 2023-04-17 15:39:37 +01:00
Rushmore Mushambi
ed20048358
Improve GitHub Actions CI run time (#1569) 2023-04-17 14:27:32 +01:00
Rushmore Mushambi
179878d672
Add compile-time guarantees to make Surreal::delete safer (#1753) 2023-03-31 23:49:29 +01:00
Tobie Morgan Hitchcock
78329abf97 Enable access to input data using $input variable
Closes #1543
2023-03-31 20:00:21 +01:00
Rushmore Mushambi
4a86af1d1f
Re-activate integration tests for the HTTP engine (#1749) 2023-03-31 13:38:09 +01:00
Tobie Morgan Hitchcock
cd5d452e5b Ensure internal edge record fields can not be modified
Closes #1726
2023-03-30 19:30:49 +01:00
Rushmore Mushambi
3e80aa9914
Implement to_value for sql::Value (#1659)
`sql::Value` is an integral part of `surrealdb`. It's the internal type used by our storage layer. Because of this, we do a lot of converting between this type and native Rust types. Currently this conversion is done through `JSON` using the `serde_json` crate because we do not have our own custom data format implementation. This works because `SQL` is a superset of `JSON`.  This, however, means that this conversion is lossy and can cause surprises in some cases. For example expecting record IDs to be deserialized into a `String` instead of its corresponding Rust native type.

This change implements a custom data format around `sql::Value` and introduces a `to_value` function that facilitates that conversion.
2023-03-30 11:41:44 +01:00
Rushmore Mushambi
8a451ac61a
Temporarily disable integration tests for the HTTP engine, take 2 (#1744) 2023-03-29 19:14:40 +01:00
Rushmore Mushambi
108f080280
Temporarily disable integration tests for the HTTP engine (#1741) 2023-03-29 16:41:44 +01:00
Tobie Morgan Hitchcock
1293d23e59 Add test for multi-aggregate composed grouped maths queries
Closes #1689
2023-03-26 22:35:28 +01:00
Tobie Morgan Hitchcock
cad596cdf3 Ensure GROUP BY clauses with multi same-aggregate functions work correctly
Closes #1731
2023-03-26 10:04:18 +01:00
Tobie Morgan Hitchcock
1102a2c6da Add operator for unique array add
Related to #1690
2023-03-25 23:17:33 +00:00
Tobie Morgan Hitchcock
4dba9fc675 Don’t treat arrays as sets
Closes #1690
2023-03-25 22:38:09 +00:00
Tobie Morgan Hitchcock
cdac4f84cd Add support for custom SQL functions
Closes #247
2023-03-25 19:44:03 +00:00
Tobie Morgan Hitchcock
f48de42695 Add suport for flattened query results with VALUE field clauses
Closes #1326
2023-03-17 07:32:31 -04:00
Tobie Morgan Hitchcock
223d119b2c Allow SQL subqueries to be ended witrh ; character
Related to #247
Related to #225
Related to #1319
2023-02-20 20:40:05 +00:00
Tobie Morgan Hitchcock
185eb91f22 Allow raw SQL subqueries without surrounding brackets
Related to #247
Related to #225
Related to #1319
2023-02-20 14:24:37 +00:00
Tobie Morgan Hitchcock
f7dd73212d Make SQL subquery behaviour understandable and consistent
Closes #1408
Closes #1441
2023-02-19 17:34:18 +00:00
Tobie Morgan Hitchcock
d2571a6b29 Ensure UUIDs convert to strings correctly
Closes #1650
2023-02-11 18:21:02 +00:00
Tobie Morgan Hitchcock
55dda013b6 Fix SQL function tests 2023-01-18 00:11:19 +00:00
Tobie Morgan Hitchcock
3a1294029e Add SQL array::all(), array::any(), array::min(), and array::max() functions
Closes #1588
2023-01-17 09:00:30 +00:00
Tobie Morgan Hitchcock
7fabf54593 Add ability to define global parameters on database
Closes #133
2023-01-09 15:49:47 +00:00
Tobie Morgan Hitchcock
23be3353be Check expressions for SPLIT ON, GROUP BY, and ORDER BY clauses
Closes #1229
Closes #1230
Closes #1457
Closes #1233
2023-01-08 17:38:51 +00:00
Tobie Morgan Hitchcock
9c5178ef0a Add tests for SQL array::group() function 2023-01-07 20:02:49 +00:00
Rushmore Mushambi
005b27eae8
Drop the parallel feature (#1574) 2023-01-07 09:42:45 +00:00
Tobie Morgan Hitchcock
372cd65969 Don’t treat NONE and NULL as the same 2023-01-07 08:54:12 +00:00
Rushmore Mushambi
953a2008e2
Rename the engines module to engine (#1576) 2023-01-07 08:32:18 +00:00
Tobie Morgan Hitchcock
f5b21eb363 Add support for FLEXIBLE fields on SCHEMAFULL tables
Closes #1341
2023-01-04 09:50:01 +00:00
Tobie Morgan Hitchcock
c0d5aace54 Allow trailing commas in SQL Geometry types
Closes #1523
2023-01-03 17:52:22 +00:00
Rushmore Mushambi
a24bb4f4b8
Allow memory as an address endpoint in CLI sql command (#1563) 2022-12-30 23:53:45 +00:00
Finn Bear
54f337c15b
Add not function for negation of a value (#1542) 2022-12-30 09:34:46 +00:00
Rushmore Mushambi
c2dce39f91
Integrate client library into surrealdb crate (#1514) 2022-12-30 08:23:19 +00:00
Tobie Morgan Hitchcock
1ce6c4bae6 Process futures before using as function arguments
Closes #1538
2022-12-22 08:33:57 +00:00
Tobie Morgan Hitchcock
8bd3d8046c Ensure uncaught JavaScript exceptions are caught
Closes #1461
2022-12-18 20:48:37 +00:00
Tobie Morgan Hitchcock
df954a9554 Ensure transaction cache is cleared when necessary
Closes #1526
2022-12-18 10:30:07 +00:00
Aman Sharma
e1e617cff7
Add SQL array::insert() function (#1504) 2022-12-17 21:03:13 +00:00
Tobie Morgan Hitchcock
406e277c3b Ensure crate builds with no-default-features 2022-12-07 19:30:29 +00:00
Tobie Morgan Hitchcock
0eace892ad Remove duplicate unused tests 2022-12-05 23:50:58 +00:00
Tobie Morgan Hitchcock
a9de682370 Ensure parameters can be used in RELATE statements without spaces
Closes #1447
2022-12-04 22:07:43 +00:00
Tobie Morgan Hitchcock
3c4f194610 Ensure string::slice does not panic with usize overflow 2022-12-03 23:30:38 +00:00
Allen Lantz
3d3cab4b65
Add SQL array::flatten() function (#1308) 2022-11-28 12:18:30 +00:00