Nrishinghananda Roy
5485883d3c
Fix multiple Clippy
Lints ( #2159 )
2023-06-20 12:48:20 +01: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
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
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
Finn Bear
c7633414b5
Refactor & Optimize - Number and Array ( #1868 )
2023-04-25 22:52:02 +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
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
84b026679f
Update clippy linting tests
2023-02-03 11:47:07 +00:00
Tobie Morgan Hitchcock
b0c2fe8f03
Ensure math::fixed()
works on Decimal numbers
...
Closes #1622
2023-01-30 22:25:07 +00:00
Tobie Morgan Hitchcock
44c3f32f69
Fix clippy linting warnings
2022-12-20 10:30:40 +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
af9bd5b62f
Support path expressions after Record IDs with integer IDs
2022-10-30 01:32:27 +00:00
Allen Lantz
d1055e6088
Implement hashed implementation of Uniq<Array>
( #1310 )
2022-10-27 05:23:24 -07:00
Aman Sharma
b92536b649
Add some From<Value> and TryFrom<Value> implementations ( #1401 )
2022-10-26 07:01:09 -07:00
Tobie Morgan Hitchcock
227bb0a3ce
Ensure database doesn’t panic when rounding decimal values with more than 16 decimal places
...
Closes #1378
2022-10-19 11:06:17 +01:00
Tobie Morgan Hitchcock
0a4b810fbd
Allow parameters in LIMIT and START clauses in SQL SELECT statements
...
Closes #1332
Closes #116
2022-10-17 02:57:53 +01:00
Finn Bear
45e1a9adce
Refactor, optimization, cleanup ( #1288 )
2022-10-04 22:51:18 +01:00
Finn Bear
cddef8ca19
Refactor - optimizations and cleanup. ( #1255 )
2022-09-27 22:35:30 +01:00
CelebrateVC
d5a378b1be
Implement math functions that were marked as todo ( #1218 )
2022-09-25 10:55:07 +01:00
Finn Bear
8f6d21c1fc
Refactor and optimize functions and Value operators ( #80 )
2022-09-01 01:27:52 +01:00
Tobie Morgan Hitchcock
c0a78d8470
Implement graph traversal functionality
2022-06-15 08:49:57 +01:00
Tobie Morgan Hitchcock
a8fa9ecfb7
Only support strings or integers for Record IDs
2022-06-08 08:39:09 +01:00
Tobie Morgan Hitchcock
ea525648ae
Remove unnecessary lifetime specifiers
2022-05-25 10:42:10 +01:00
Tobie Morgan Hitchcock
61b1e547b6
Always use simplified serialization unless specified explicitly
2022-05-21 10:07:32 +01:00
Tobie Morgan Hitchcock
73df91a438
Use BigDecimal for large number handling
2022-03-17 21:55:32 +00:00
Tobie Morgan Hitchcock
97c0e50654
Parse numbers as either integers or decimals
2022-03-16 23:19:50 +00:00
Tobie Morgan Hitchcock
636eee4a25
Don’t treat all numbers as decimals unless necessary
2022-03-16 21:15:13 +00:00
Tobie Morgan Hitchcock
f13aafe576
Ensure numbers are parsed inside (bracket expressions)
2022-03-16 20:49:26 +00:00
Tobie Morgan Hitchcock
1b0477ae29
Ensure numbers are parsed properly
...
This change fixes a bug where `100test` would be parsed as a number, and the parser would subsequently fail. Now the value is only parsed as a number if it is immediately followed by an allowed character - otherwise it will fail, and the value `100test` will be parsed as an ident instead.
2022-03-16 15:50:08 +00:00
Tobie Morgan Hitchcock
d1c2daaee4
Apply cargo clippy lint recommendations
2022-03-05 14:42:58 +00:00
Tobie Morgan Hitchcock
d5c53b7791
Extract core surrealdb code into separate library
2022-02-22 14:16:50 +00:00