Commit graph

24 commits

Author SHA1 Message Date
Rushmore Mushambi
87a9631898
Drop compact UUID attributes (#2570) 2023-09-03 09:35:16 +01:00
Tobie Morgan Hitchcock
b2b51b54b1
Add versioned data storage serialisation (#2433) 2023-08-17 19:03:46 +01:00
Rushmore Mushambi
315c6e1125
Change uuid serialisation to compact (#2204) 2023-07-01 22:55:00 +00:00
Finn Bear
ac9f77a62a
Bugfix #2069 - Properly escape '\' in strings (#2074) 2023-05-31 07:36:29 +00: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
2be25cdcd2 Revert simple serialization of basic types 2023-03-30 16:52:31 +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
c16705690b Fix bug with Uuid::new() function when compiling 2023-01-26 19:22:03 +00:00
Tobie Morgan Hitchcock
996b9c1375 Use UUIDv7 as default UUID type 2023-01-17 09:51:58 +00:00
Aman Sharma
82c9d7da2b
Add additional From<Value> and TryFrom<Value> implementations (#1410) 2022-10-28 04:35:01 -07:00
Allen Lantz
d1055e6088
Implement hashed implementation of Uniq<Array> (#1310) 2022-10-27 05:23:24 -07:00
Tobie Morgan Hitchcock
9c788d9d21 Ensure unstable UUID functions are behind a build flag 2022-10-25 15:17:21 -07:00
Tobie Morgan Hitchcock
34dd96efb9 Fix linting tests 2022-10-25 02:41:16 -07:00
Aman Sharma
01858bf4ca
adds From<uuid::Uuid> for sql::Value and sql::Uuid (#1398) 2022-10-24 09:43:50 +01:00
Tobie Morgan Hitchcock
67eb4b97a1 Fix tests 😖 2022-10-19 15:48:50 +01:00
Tobie Morgan Hitchcock
ad6ee5b42d Add some additional code comments 2022-10-19 10:55:19 +01:00
Tobie Morgan Hitchcock
c9243dec3c Add new functions for gnerating v4 and v7 UUIDs
Related to #1353
2022-10-16 23:38:50 +01:00
Tobie Morgan Hitchcock
3e25debd3a Simplify string formatting of UUIDs 2022-10-16 22:25:19 +01:00
Tobie Morgan Hitchcock
e6eb6168a1 Simplify parsing of string based types 2022-10-16 21:35:50 +01:00
Tobie Morgan Hitchcock
16638561a2 Add support for parsing UUID versions 5, 6, 7, and 8 2022-10-16 17:36:07 +01:00
Finn Bear
45e1a9adce
Refactor, optimization, cleanup (#1288) 2022-10-04 22:51:18 +01:00
Finn Bear
b31dbb28fe
Miscellaneous performance optimizations and code cleanup (#240) 2022-09-23 00:54:53 +01:00
Tobie Morgan Hitchcock
ccdce709f2 Add UUID data type to SQL for efficient storage of UUIDs 2022-06-28 11:54:04 +01:00