Mees Delzenne
b4adbe9962
Feature - Implement fetch ( #2117 )
2023-06-22 12:14:54 +00:00
Emmanuel Keller
8e64750a60
Feature - Search highlighting ( #2132 )
2023-06-21 19:31:15 +01:00
Tobie Morgan Hitchcock
000a594ad5
Fix linting ( #2164 )
2023-06-21 08:45:39 +01:00
Finn Bear
41e119a5f5
Feature - unary operators ( #2139 )
2023-06-21 00:31:23 +01:00
Przemyslaw Hugh Kaznowski
64adb2e913
Rebased live query changes ( #2136 )
2023-06-20 23:50:26 +01:00
Nrishinghananda Roy
5485883d3c
Fix multiple Clippy
Lints ( #2159 )
2023-06-20 12:48:20 +01:00
Finn Bear
2019290a0b
Refactor - reduce redundancy in Datastore::execute
. ( #2095 )
2023-06-19 22:35:08 +00:00
Maxwell Flitton
e389e51b7f
adding comments ( #2147 )
2023-06-19 18:44:40 +00:00
Emmanuel Keller
668d3fd8fb
Introduce query planner and indexing ( #1899 )
2023-06-19 19:41:13 +01:00
Finn Bear
12cb551156
Change datetime to serialize as secs/nanos instead of string. ( #1951 )
2023-06-13 21:13:10 +00:00
Rushmore Mushambi
6f79f1556a
Test FoundationDB ( #1889 )
2023-06-13 20:55:38 +00:00
Tobie Morgan Hitchcock
ab5737dd2b
Fix key-value store tests ( #2130 )
2023-06-13 18:01:08 +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
5c07a7b2d4
Security - Add global query timeouts (attempt 2). ( #2097 )
2023-06-12 12:23:30 +01:00
Finn Bear
38ca45849f
Security - Limit output size of all string functions. ( #2112 )
2023-06-10 20:42:26 +00:00
Tobie Morgan Hitchcock
a6e1bacee0
Add more tests for all key-value storage engines ( #2124 )
2023-06-10 20:30:37 +00:00
Finn Bear
5ebf4ee963
Refactor - consolidate Field
enum to reduce redundancy. ( #2104 )
2023-06-10 20:23:22 +00:00
Rushmore Mushambi
98c5bafd37
Fix FoundationDB endpoint ( #2122 )
2023-06-09 16:56:30 +00:00
Finn Bear
b389b104aa
Bugfix #1316 - fix 2 of 3 problems with impl Ord for Number
( #2114 )
2023-06-09 16:53:22 +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
Mees Delzenne
1bcf57ecc9
Update rquickjs dependency to new version ( #2089 )
2023-06-06 06:11:32 +00:00
Finn Bear
721d3c5444
Feature #2080 - support empty custom fn's ( #2081 )
2023-05-31 22:39:44 +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
Finn Bear
ac9f77a62a
Bugfix #2069 - Properly escape '\' in strings ( #2074 )
2023-05-31 07:36:29 +00:00
Przemyslaw Hugh Kaznowski
b2adca1851
Sur 229 kvs integration tests ( #2050 )
2023-05-31 07:36:23 +00:00
Finn Bear
e835d27ecc
Feature - Add message to query not executed error. ( #2049 )
2023-05-31 07:36:15 +00:00
Emmanuel Keller
e1f8722b8c
Fixes wasm build (full-text indexing) ( #2071 )
2023-05-30 12:46:05 +01:00
Emmanuel Keller
8e48604e20
Add initial full-text search indexer implementation ( #1779 )
2023-05-29 12:46:41 +01:00
hchockarprasad
88e6dc274a
Check for zero duration before trunc and round datetime ( #2066 )
2023-05-28 22:54:08 +01:00
David Bottiau
f6c909e1a2
Fix doc on select example ( #2064 )
2023-05-28 12:06:08 +01:00
Rushmore Mushambi
9cd25566ac
Fix deserialising HTTP query responses ( #2045 )
2023-05-26 11:36:37 +01:00
Finn Bear
5e0e72def2
Bugfix - ret. QueryNotExecuted if implicit txn. fails to commit. ( #2039 )
2023-05-23 23:03:59 +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
hchockarprasad
53d8e9c628
Make client error serializable ( #1992 )
2023-05-22 21:02:48 +01:00
Finn Bear
31af5dd4d3
Feature - Add time::EPOCH
constant. ( #2021 )
2023-05-20 08:28:52 +01:00
Finn Bear
0d658842df
Bugfix #2001 - Error instead of panic when applying malformed patches. ( #2007 )
2023-05-19 22:02:43 +01:00
hchockarprasad
11543f7d67
Feature: Add unset clause for update statement ( #2004 )
2023-05-18 09:04:40 +01:00
Finn Bear
437fc231f1
Bugfix - Visibly warn if failed to deserialize websocket response. ( #1999 )
2023-05-16 12:31:16 +01:00
hchockarprasad
a8f35611c2
Bugfix - Include index part when patching object value ( #1994 )
2023-05-15 21:22:13 +01:00
Rushmore Mushambi
c02d176646
Expose the range parser ( #1993 )
2023-05-15 16:46:20 +01:00
Finn Bear
10f29fbb26
Bugfix - error on integer overflow in SurrealQL. ( #1983 )
2023-05-12 19:55:52 -04:00
Przemyslaw Hugh Kaznowski
df745bb3a5
Favour rust binary characters instead of hex ( #1978 )
2023-05-12 19:40:45 -04: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
Tobie Morgan Hitchcock
86483e087a
Fix clippy warnings ( #1965 )
2023-05-10 12:58:04 -04:00
hchockarprasad
3140e06ad2
Fix http body encoding ( #1962 )
2023-05-10 08:44:42 -04:00
Rushmore Mushambi
f1ef3bfd21
Add a sql::Value::into_json()
method ( #1963 )
2023-05-10 08:12:47 -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
hchockarprasad
bb94374c78
Trim text before json parsing ( #1955 )
2023-05-09 16:49:12 -04:00
Finn Bear
ccc16fa9a7
Feature - Expand support for Bytes
( #1898 )
2023-05-09 16:43:16 -04:00
Finn Bear
73374d4799
Bugfix - Prevent NUL bytes from existing in UTF-8 strings ( #1941 )
2023-05-09 13:48:14 -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
Tobie Morgan Hitchcock
f0e5753cd1
Use static str where possible for context param names ( #1942 )
2023-05-06 21:49:34 +01:00
Tobie Morgan Hitchcock
531e75a5b0
Ensure chained future
values have access to current document context ( #1939 )
2023-05-06 07:29:42 +01:00
Tobie Morgan Hitchcock
53212b23be
Don’t use asynchronous functions when not necessary ( #1936 )
2023-05-06 01:15:03 +01:00
Tobie Morgan Hitchcock
e725b3e8e6
Add detailed code comments for Value
enum variants ( #1938 )
2023-05-06 00:53:26 +01:00
Rushmore Mushambi
3dd0b6d5e8
Fix building the HTTP feature on Wasm ( #1928 )
2023-05-05 19:14:36 +01:00
Rushmore Mushambi
fb6f1caa6b
Lift 'static restriction on connect methods ( #1926 )
2023-05-05 19:14:06 +01:00
Rushmore Mushambi
107e5b5dba
Support switching namespaces and databases separately ( #1927 )
2023-05-05 19:12:19 +01:00
Tobie Morgan Hitchcock
0c752b43e9
Optimise array::join()
SQL function ( #1925 )
2023-05-05 00:06:49 +01:00
Finn Bear
d0e76e64a9
Testing & Bugfix - Ensure consistency of functions. ( #1919 )
2023-05-05 00:05:51 +01:00
Jan Tebernum
e9ebecfdd6
Feature: Implementation of array::join
( #1920 )
2023-05-04 21:38:02 +01:00
Finn Bear
975ea616dd
Bugfix - export new array::slice to JS and fuzzer. ( #1915 )
2023-05-03 22:48:05 +01:00
Jan Tebernum
1cd00cf3fc
Feature: Add function string::contains
( #1906 )
2023-05-03 11:40:17 +01:00
Rushmore Mushambi
357a5320ef
Disable URL-encoding on file paths ( #1892 )
2023-04-30 19:34:46 +01:00
Tobie Morgan Hitchcock
453d368e69
Add integration tests for the built-in SQL functions ( #1893 )
2023-04-30 19:34:26 +01:00
Finn Bear
12bf8dea6b
Bugfix #1702 - Unicode escape parser for Strand. ( #1888 )
2023-04-30 19:33:48 +01:00
Tobie Morgan Hitchcock
c7e3b927ac
Optimisation - only loop over document fields when processing PERMISSIONS clauses ( #1890 )
2023-04-30 00:23:19 +01:00
Rushmore Mushambi
1e8903b699
Derive Serialize
implementations for enums ( #1887 )
2023-04-29 21:50:25 +01:00
Finn Bear
3f3b2248b3
Bugfix - Allow {time, duration}::from::* to be parsed ( #1886 )
2023-04-29 20:57:10 +01:00
Finn Bear
c295cb0509
Optimization - Zero copy key deserialization. ( #1880 )
2023-04-29 17:44:09 +01:00
Rushmore Mushambi
59947749e3
Add a missing impl<T> IntoEndpoint for (T, native_tls::TlsConnector)
for the any engine ( #1885 )
2023-04-29 17:21:19 +01:00
Rushmore Mushambi
91e949248d
Unify serialisation ( #1881 )
2023-04-29 16:58:22 +01:00
Rushmore Mushambi
955aea9409
impl From<sql::Value> for serde_json::Value ( #1877 )
2023-04-29 09:06:02 +01:00
Rushmore Mushambi
141eb091a6
Bypass deserialisation for sql::Value
responses on Surreal
methods ( #1875 )
2023-04-28 12:20:57 +01:00
Finn Bear
eeb46468aa
Bugfix #1856 - ensure futures are evaluated in the course of Value::get. ( #1867 )
2023-04-25 23:58:50 +01:00
Finn Bear
b3ebd4c6b5
Bugfix - Fix overflow in duration parser ( #1865 )
2023-04-25 23:00:31 +01:00
Finn Bear
df07bb32f5
Bugfix - make string::slice properly handle UTF-8 and reallocate less. ( #1854 )
2023-04-25 22:58:53 +01:00
Finn Bear
c7633414b5
Refactor & Optimize - Number and Array ( #1868 )
2023-04-25 22:52:02 +01:00
Finn Bear
38016a0ee6
Add SQL array::slice
function. ( #1855 )
2023-04-25 22:48:09 +01:00
Rushmore Mushambi
e6b97ff8ff
Refactor the Connection
trait and Surreal
methods ( #1860 )
2023-04-25 15:22:34 +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
3c027e9e2f
Simplify external API and cleanup unused functions ( #1857 )
2023-04-24 21:51:35 +01:00
Finn Bear
f159187dbe
Store parsed regex::Regex in Value. ( #1837 )
2023-04-23 12:55:18 +01:00
Rushmore Mushambi
bc7471a6ad
Add support for serialising sql::Kind
in the serialiser ( #1847 )
2023-04-23 12:09:04 +01:00
Rushmore Mushambi
a15c8c3564
Make error messages clearer when required features are not enabled ( #1822 )
2023-04-23 12:08:21 +01:00
Rushmore Mushambi
cd16d4af5c
Replace tokio::time
with wasmtimer
for Wasm targets ( #1846 )
2023-04-23 08:32:27 +01:00
Tobie Morgan Hitchcock
ee24f8d6a0
Ensure array::remove()
function works correctly
...
Closes #1831
2023-04-20 19:23:13 +01:00
Rushmore Mushambi
78625bc7a1
Bypass deserialisation for sql::Value
s on Response::take
( #1834 )
2023-04-20 19:20:50 +01:00
Finn Bear
7e5f4388a2
Refactor and reduce allocations in query executor. ( #1819 )
2023-04-20 13:30:47 +01:00
Finn Bear
46c15cfb8e
Allow exports larger than 10,240 bytes for local engines ( #1833 )
2023-04-20 11:42:23 +01:00
Rushmore Mushambi
8eac52315b
Fix HTTP string errors deserialization ( #1821 )
2023-04-19 09:46:37 +01:00
Finn Bear
a35ed83c88
Streamline Makefile compilation and fix a minor typo. ( #1832 )
2023-04-19 09:27:53 +01:00
Rushmore Mushambi
32352f4bd1
Add more #[must_use]
attributes ( #1828 )
2023-04-19 09:26:22 +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
Tobie Morgan Hitchcock
8bf5585080
Simplify parser and improve performance
2023-04-17 13:09:56 +01:00
Tobie Morgan Hitchcock
50c3554242
Ensure edge record deletes do not cascade to related records
...
Closes #1817
2023-04-16 18:17:50 +01:00
Tobie Morgan Hitchcock
7413e93a48
Don’t pretty print newlines in objects and arrays if empty
2023-04-15 17:00:01 +01:00
Tobie Morgan Hitchcock
7448cd1305
Ensure custom functions can write data
...
Closes #1808
2023-04-14 16:51:15 +01:00
Finn Bear
15bfef4866
Refactor - Clean-up and optimize KVs ( #1807 )
2023-04-14 12:43:25 +01:00
Rushmore Mushambi
e075be16b8
Fix Display
implementation for empty Groups
( #1788 )
2023-04-09 11:14:07 +01:00
Tobie Morgan Hitchcock
b63c83a4bc
Ensure duration addition and subtraction does not panic
...
Closes #1773
2023-04-06 09:35:01 +01:00
Tobie Morgan Hitchcock
8083eaf751
Allow ::
module separators in custom function names
...
Closes #1775
2023-04-06 09:35:01 +01:00
Tobie Morgan Hitchcock
b5afc4a3e0
Fix serialization size checking tests
2023-04-02 18:56:45 +01:00
Tobie Morgan Hitchcock
ae13289745
Use larger serialization format while in beta
2023-04-02 17:40:44 +01:00
Rushmore Mushambi
65f1957256
Ensure Value::Bytes
serialises correctly ( #1757 )
2023-04-02 13:24:43 +01:00
Tobie Morgan Hitchcock
3b7a3a5a35
Use larger serialization format while in beta
2023-04-02 00:48:56 +01:00
Tobie Morgan Hitchcock
7bb89d5041
Ensure DEFINE
and REMOVE
statements are serialized with full field information
2023-04-02 00:28:01 +01:00
Tobie Morgan Hitchcock
683c1adbd4
Ensure DEFINE TOKEN ON SCOPE
statments are included in database export
2023-04-01 19:28:44 +01:00
Tobie Morgan Hitchcock
64873eb881
Ensure DEFINE FIELD
statements deserialize correctly
2023-04-01 19:07:00 +01:00
Tobie Morgan Hitchcock
2895026593
Use custom serialization compaction for DEFINE and REMOVE statements
2023-04-01 18:49:10 +01:00
Tobie Morgan Hitchcock
be42b3e7c9
Ensure strings are parsed last
2023-04-01 18:48:17 +01:00
Tobie Morgan Hitchcock
8a726b794b
Add additional database type
2023-03-31 23:49:52 +01:00
Tobie Morgan Hitchcock
45094c76ce
Use custom serialization format
2023-03-31 23:49:52 +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
Tobie Morgan Hitchcock
cfb27e0929
Add Bytes
type for binary data
...
Related to #1652
2023-03-31 20:00:21 +01:00
Tobie Morgan Hitchcock
3408004c8c
Add initial support for method chaining within an Idiom
2023-03-31 20:00:21 +01:00
Tobie Morgan Hitchcock
0a328d4f0a
Add initial support for additional functionality in graph expressions
...
Related to #1658
2023-03-31 20:00:21 +01:00
Tobie Morgan Hitchcock
2e0093c41d
Improve SQL Idiom
path parsing
...
Closes #1653
2023-03-31 20:00:21 +01:00
Rushmore Mushambi
6e6621565d
Switch the HTTP engine to a binary protocol ( #1751 )
2023-03-31 18:15:15 +01:00
teenjuna
c7a2430fad
Fix typo in operator.rs
( #1750 )
2023-03-31 15:19:16 +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
Diptesh Choudhuri
494203d358
Allow exporting to stdout ( #1701 )
2023-03-30 19:13:26 +01:00
Tobie Morgan Hitchcock
2be25cdcd2
Revert simple serialization of basic types
2023-03-30 16:52:31 +01:00
Tobie Morgan Hitchcock
e41a7f7014
Fix simple serialization of sequences and maps
2023-03-30 16:41:14 +01:00
Tobie Morgan Hitchcock
a1d8494de1
Only parse JavaScript functions beginning with function()
2023-03-30 15:19:18 +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
Tobie Morgan Hitchcock
86f768e996
Ensure tests work correctly when no features enabled
2023-03-30 11:10:07 +01:00
Finn Bear
50ea5c52cb
Fix #1732 - casting string containing decimal to int. ( #1734 )
2023-03-29 19:23:13 +01:00
Salvador Girones Gil
565717659a
Add functionality for open telemetry tracing ( #1727 )
2023-03-29 19:16:18 +01:00
Tobie Morgan Hitchcock
6ede630d41
Allow unbounded / untyped record type constraints
2023-03-27 13:42:33 +01:00
Tobie Morgan Hitchcock
3f5347e4b3
Fix code comments
2023-03-26 23:39:45 +01:00
Tobie Morgan Hitchcock
13fe68a871
Use custom crate for lexicographical sorting
2023-03-26 22:13:43 +01:00
Tobie Morgan Hitchcock
97bb5a1775
Use any_ascii
crate to convert unicode
2023-03-26 19:02:48 +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
fb2356b17a
Add SQL array::add()
function for adding unique items
...
Related to #1690
2023-03-26 08:53:37 +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
b49d58a362
Add additional SQL array functions
...
Closes #1725
Related to #1690
Add `array::append()`, `array::pop()`, `array::prepend()`, `array::push()`, `array::remove()`, and `array::reverse()` SQL functions
2023-03-25 22:37:47 +00:00
Tobie Morgan Hitchcock
2769033451
Update 3rd party dependencies
2023-03-25 20:49:00 +00:00
Tobie Morgan Hitchcock
715b79c24e
Fix warnings in release mode
2023-03-25 20:48:51 +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
a64ebdb4a2
Ensure sql::Statement
is Storeable
2023-03-25 19:42:45 +00:00