Commit graph

132 commits

Author SHA1 Message Date
Finn Bear
10f29fbb26
Bugfix - error on integer overflow in SurrealQL. (#1983) 2023-05-12 19:55:52 -04:00
Rushmore Mushambi
f1ef3bfd21
Add a sql::Value::into_json() method (#1963) 2023-05-10 08:12:47 -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
73374d4799
Bugfix - Prevent NUL bytes from existing in UTF-8 strings (#1941) 2023-05-09 13:48:14 -04:00
Tobie Morgan Hitchcock
e725b3e8e6
Add detailed code comments for Value enum variants (#1938) 2023-05-06 00:53:26 +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
1e8903b699
Derive Serialize implementations for enums (#1887) 2023-04-29 21:50:25 +01:00
Rushmore Mushambi
91e949248d
Unify serialisation (#1881) 2023-04-29 16:58:22 +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
Finn Bear
c9a9336fdc
Improve performance and security of simple JSON parser (#1813) 2023-04-17 15:39:37 +01:00
Tobie Morgan Hitchcock
7448cd1305 Ensure custom functions can write data
Closes #1808
2023-04-14 16:51:15 +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
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
Tobie Morgan Hitchcock
cfb27e0929 Add Bytes type for binary data
Related to #1652
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
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
Finn Bear
50ea5c52cb
Fix #1732 - casting string containing decimal to int. (#1734) 2023-03-29 19:23:13 +01:00
Tobie Morgan Hitchcock
6ede630d41 Allow unbounded / untyped record type constraints 2023-03-27 13:42:33 +01:00
Tobie Morgan Hitchcock
13fe68a871 Use custom crate for lexicographical sorting 2023-03-26 22:13:43 +01:00
Tobie Morgan Hitchcock
cdac4f84cd Add support for custom SQL functions
Closes #247
2023-03-25 19:44:03 +00:00
Tobie Morgan Hitchcock
42725789a0 Upgrade Rust code deprecation warnings 2023-03-18 09:18:40 +00:00
Tobie Morgan Hitchcock
b9df5e64ff Add code and documentation comments 2023-03-16 07:13:47 -04:00
Alejandro
d7956ea73b
Add From<Vec<String> implementation to Value (#1688) 2023-03-07 09:52:34 +00:00
Tobie Morgan Hitchcock
9fcf4c9419 Add a new SQL Block type for multi-line statements and expressions
Closes #225
Closes #1319
Related to #247
2023-02-21 14:15:02 +00:00
Tobie Morgan Hitchcock
454612487a Allow sending Table type for LIVE query RPC method 2023-02-14 11:01:31 +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
77da795d24 Ensure CONTAINS works correctly with Uuids and Datetimes
Closes #1636
2023-02-04 08:15:30 +00:00
Tobie Morgan Hitchcock
84b026679f Update clippy linting tests 2023-02-03 11:47:07 +00:00
Tobie Morgan Hitchcock
3f528ab183 Increase memory size of Model 2023-01-29 12:37:13 +00:00
Tobie Morgan Hitchcock
9282feac1f Allow empty params object from text-based WebSocket clients
Closes #1610
2023-01-20 00:54:33 +00:00
Finn Bear
a1b9201bbd
Add pretty printing for SQL Query, Statement, Value, Array, and Object types (#1420) 2023-01-19 09:53:33 +00:00
Tobie Morgan Hitchcock
30953bc2a3 Add SQL rand::ulid() function
Related to #1353
2023-01-17 09:02:01 +00:00
Tobie Morgan Hitchcock
06363e29a7 Add function for raw string output 2023-01-15 09:38:07 +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
5fb324d9af Remove invalid type 2023-01-07 10:39:11 +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
Etienne Bruines
cef01ad790
Add SQL math::pow() function and ** operator (#1239) 2022-12-18 14:56:07 +00:00
Tobie Morgan Hitchcock
dcc28a6ec7 Allow SELECT statements to START AT 0
Closes #1516
2022-12-09 16:02:36 +00:00
Tobie Morgan Hitchcock
09021ee103 Add Null Coalescing Operator and Ternary Conditional Operator
Closes #1471
Closes #1439
2022-12-02 21:48:10 +00:00
Tobie Morgan Hitchcock
4b14837009 Fix clippy lint warnings 2022-11-23 09:09:24 +00:00