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
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
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
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
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
42725789a0
Upgrade Rust code deprecation warnings
2023-03-18 09:18:40 +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
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 Uuid
s and Datetime
s
...
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
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
8fe5757688
Ensure non-defined array fields are removed from records
...
Related to #1341
2022-12-31 19:02:12 +00:00
CelebrateVC
3048748573
Ensure last array items (array[$]
) compare correctly ( #1534 )
2022-12-20 10:31:53 +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
Tobie Morgan Hitchcock
d4f1c28a4a
Add conversion functionality from Thing to ID
...
Closes #1454
2022-11-23 08:59:09 +00:00
Tobie Morgan Hitchcock
b8d485fe32
Fix tests on latest Rust release
2022-11-16 17:57:22 +00:00
Tobie Morgan Hitchcock
a4db0d8427
Ensure parameters in record ranges are computed
2022-11-03 10:55:47 +00:00
Tobie Morgan Hitchcock
4411b4d71f
Add support for accessing nested fields inside Future computed values
...
Closes #1261
2022-10-31 23:24:44 +00:00
Tobie Morgan Hitchcock
426fce00a8
Separate Future into standalone type
2022-10-31 23:24:44 +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
Aman Sharma
b92536b649
Add some From<Value> and TryFrom<Value> implementations ( #1401 )
2022-10-26 07:01:09 -07:00
Tobie Morgan Hitchcock
d12384f3fb
Change method signature for converting strings to table names
2022-10-25 06:40:23 -07:00
Tobie Morgan Hitchcock
3cbb5eed78
Allow datetimes as an id
parameter in the WebSocket RPC message
2022-10-25 06:06:02 -07:00
Tobie Morgan Hitchcock
2e1d39fcf8
Remove unused Response to Value conversion implementation
2022-10-25 06:05:02 -07:00
Tobie Morgan Hitchcock
8f873cae5c
Accept SQL ranges within SQL objects and SQL arrays
2022-10-25 06:01:13 -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
5b76a25932
Ensure equals comparator function never reeaches unreachable code
...
Closes #1360
2022-10-20 15:54:35 +01:00
Tobie Morgan Hitchcock
0c4994b33b
Ensure nested non-defined objects are not stored in SCHEMAFULL table
...
Closes #1342
2022-10-20 15:41:32 +01:00
Rushmore Mushambi
f0eaf2bd19
Improve RPC method return types ( #1384 )
2022-10-19 23:54:41 +01:00
Tobie Morgan Hitchcock
7f56fb9964
Enable fetching fields and values from within complex Record IDs
...
Closes #1375
2022-10-19 11:03:13 +01:00
Tobie Morgan Hitchcock
73bf56810e
Enable searching within Record IDs using the CONTAINS operator
...
Closes #1377
2022-10-17 23:05:35 +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
Tobie Morgan Hitchcock
214971cb86
Ensure UUIDs and Datetimes can be converted to strings correctly
...
Closes #1338
2022-10-16 17:36:07 +01:00
Tobie Morgan Hitchcock
dfa42f1733
Ensure SQL UUID values are truthy
2022-10-05 19:30:37 +01:00
Finn Bear
45e1a9adce
Refactor, optimization, cleanup ( #1288 )
2022-10-04 22:51:18 +01:00
Tobie Morgan Hitchcock
66b182ec7d
Add explicit Constant type for SurrealQL constants
2022-10-01 15:55:48 +01:00
oricc
176c9f692c
Add support for constants, and add math constants ( #1263 )
2022-09-30 22:22:00 +01:00
Tobie Morgan Hitchcock
7cd8bab75c
Ensure FETCH clauses fetch the respective data correctly
...
Closes #249
2022-09-30 21:42:33 +01:00
Tobie Morgan Hitchcock
79b5ef6411
No need to convert to string before reference
2022-09-30 21:40:56 +01:00
Tobie Morgan Hitchcock
cb7c159d71
Allow custom Record IDs in RELATE statements
2022-09-30 21:33:33 +01:00
Tobie Morgan Hitchcock
2bd2c3ee0b
Remove unnecessary debugging code
2022-09-29 15:04:57 +01:00
Tobie Morgan Hitchcock
bec3d49b6d
Allow deep merging in UPDATE ... MERGE statements
...
Closes #1225
2022-09-29 11:16:57 +01:00
Tobie Morgan Hitchcock
7ef7fb7a2d
Ensure nested computed fields are not set on the root object when a parent field does not exist
...
Closes #130
2022-09-28 02:37:30 +01:00
CelebrateVC
d5a378b1be
Implement math functions that were marked as todo ( #1218 )
2022-09-25 10:55:07 +01:00
Tobie Morgan Hitchcock
4db61d89a2
Ensure DELETE statements with UNIQUE INDEX work correctly
...
Closes #1210
2022-09-24 18:58:56 +01:00
Tobie Morgan Hitchcock
25926cba83
Remove <datetime> / <duration> functionality in favour of time::floor function
...
Closes #1213
2022-09-24 11:17:47 +01:00
Finn Bear
d141605266
Bugfix - prevent division by zero. ( #1206 )
2022-09-24 10:57:26 +01:00
Tobie Morgan Hitchcock
5580f288fd
Allow CREATE statement to accept an id field in the content
2022-09-24 02:58:19 +01:00
Tobie Morgan Hitchcock
5fe1fd0227
Fix linting warnings
2022-09-23 08:41:40 +01:00
Tobie Morgan Hitchcock
26de0b5c46
Add additional convenience functions on Value type
2022-09-23 01:07:53 +01:00
Hugo Saracino
58cffa2de6
Add duration functions for calculating durations as integers ( #257 )
2022-09-23 00:48:49 +01:00
Tobie Morgan Hitchcock
d6b544771f
Rename function for simplicity
2022-09-19 12:28:41 +01:00
Tobie Morgan Hitchcock
f9645e3d55
Ensure size of Error type is correctly tracked
2022-09-10 06:16:14 +01:00
Tobie Morgan Hitchcock
82e347027d
Enable support for dynamic expressions in record IDs
2022-09-04 10:52:01 +01:00
Finn Bear
8f6d21c1fc
Refactor and optimize functions and Value operators ( #80 )
2022-09-01 01:27:52 +01:00
Tobie Morgan Hitchcock
7a857801d2
Ensure selected NS/DB is reflected in current session info
...
Closes #36
2022-08-29 17:30:50 +01:00
Finn Bear
b18b3cef3e
Refactor, optimization, and cleanup of code ( #71 )
2022-08-29 02:47:33 +01:00
Tobie Morgan Hitchcock
c1a1eba8b5
Add support for Record ID ranges
...
Closes #66
2022-08-28 23:31:57 +01:00
Tobie Morgan Hitchcock
eab862b9e4
Add support for Objects and Arrays as Record IDs
2022-08-27 00:23:24 +01:00
Tobie Morgan Hitchcock
f970809030
Fix deletion of embedded array fields using flat path style
2022-08-02 03:12:03 +01:00
Tobie Morgan Hitchcock
c8cba2c64d
Remove VOID type
2022-07-28 21:54:59 +01:00
Tobie Morgan Hitchcock
078d3d4868
Ensure field values are set even if the field is not specified
2022-07-28 09:42:04 +01:00
Tobie Morgan Hitchcock
eaedfbbb7c
Add ability to use binary expressions in SQL SELECT statements
2022-07-18 22:10:00 +01:00
Tobie Morgan Hitchcock
c9d9b041f7
Simplify v.into() value conversion statements
2022-07-16 23:18:24 +01:00
Tobie Morgan Hitchcock
b0bcecf5da
Fix clippy warnings
2022-07-10 22:57:19 +01:00
Tobie Morgan Hitchcock
a430e89c1f
Ensure values are parsed in the correct order
2022-07-08 10:19:01 +01:00
Tobie Morgan Hitchcock
4ab552a8e3
Allow PATCH clauses to accept parameters
2022-07-07 11:22:41 +01:00
Tobie Morgan Hitchcock
508538e0cc
Add initial WebSocket JSON RPC implementation
2022-07-04 02:32:26 +01:00
Tobie Morgan Hitchcock
8dc7341cb1
Add functions on SQL Value for matching on type
2022-07-04 02:02:46 +01:00
Tobie Morgan Hitchcock
d0c37f4d66
Enable parsing of thing records inside strings
...
This allows for thing records to be parsed within JSON strings.
2022-07-03 20:28:30 +01:00
Tobie Morgan Hitchcock
219f4a54ed
Enable ability to pass arguments to JavaScript functions
2022-06-28 11:54:04 +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