Commit graph

113 commits

Author SHA1 Message Date
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
Salvador Girones Gil
565717659a
Add functionality for open telemetry tracing (#1727) 2023-03-29 19:16:18 +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
42725789a0 Upgrade Rust code deprecation warnings 2023-03-18 09:18:40 +00:00
Tobie Morgan Hitchcock
5e2236dbfd Add initial implementation for processing LIVE queries 2023-02-22 18:04:30 +00:00
Tobie Morgan Hitchcock
132354e199 Fix typo in code comment 2023-02-18 18:30:23 +00:00
Tobie Morgan Hitchcock
84b026679f Update clippy linting tests 2023-02-03 11:47:07 +00:00
Rushmore Mushambi
005b27eae8
Drop the parallel feature (#1574) 2023-01-07 09:42:45 +00:00
Rushmore Mushambi
c2dce39f91
Integrate client library into surrealdb crate (#1514) 2022-12-30 08:23:19 +00:00
CelebrateVC
f0745386cf
Improve code comments for documentation (#1476) 2022-11-23 09:42:59 +00:00
Tobie Morgan Hitchcock
2323222f2d Don’t take response output by reference 2022-11-23 09:11:58 +00:00
Tobie Morgan Hitchcock
65f219ffe5 Ensure system parameters are not able to be overridden 2022-11-01 23:55:33 +00:00
Tobie Morgan Hitchcock
12b6e04539 Implement inclusive and unbounded record ranges
Closes #1412
Closes #1413
2022-10-30 01:32:27 +00:00
Tobie Morgan Hitchcock
e9364d2efd Ensure GROUP BY fields with functions are output correctly 2022-10-25 18:04:00 -07:00
Tobie Morgan Hitchcock
2e1d39fcf8 Remove unused Response to Value conversion implementation 2022-10-25 06:05:02 -07:00
Tobie Morgan Hitchcock
50a2c25688 Ensure cancelled context does not prevent FETCH of records
Closes #1395
2022-10-22 22:19:12 +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
0bc798cbe0 Remove SQL debugging functionality 2022-10-16 17:36:07 +01:00
Finn Bear
88100854a8
Limit computation depth in functions, futures, and subqueries. (#241) 2022-10-06 17:35:03 +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
016455025c Ensure LET statements throw errors correctly on failure 2022-09-25 10:56:57 +01:00
Finn Bear
b31dbb28fe
Miscellaneous performance optimizations and code cleanup (#240) 2022-09-23 00:54:53 +01:00
Tobie Morgan Hitchcock
0d4d2359d4 Add $token variable for retrieving authentication token claims data 2022-09-17 03:05:23 +01:00
Tobie Morgan Hitchcock
a7444a7c8e Add authentication token claims data to session object
Closes #135
2022-09-17 03:05:23 +01:00
Tobie Morgan Hitchcock
4c98717f1d Update Rust code comments 2022-09-17 03:05:23 +01:00
Tobie Morgan Hitchcock
3b41217423 Allow switching to current namespace when authenticated as a database user 2022-09-10 05:45:02 +01:00
Tobie Morgan Hitchcock
491806aa75 Add scope data to $session object 2022-09-05 00:55:51 +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
Tobie Morgan Hitchcock
b9fc84bf18 Prevent panics when remote datastore transactions fail to start 2022-08-29 13:20:30 +01:00
Tobie Morgan Hitchcock
f22d5d3e51 Ensure read-only transactions are cancelled when complete 2022-08-29 12:29:38 +01:00
Tobie Morgan Hitchcock
8d08c34ddf Add support for writeable queries in LET SQL statements 2022-08-29 12:29:10 +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
56d3b0e861 Fix bug where records couldn’t be updated after defining an index
Closes #57
2022-08-25 14:50:11 +01:00
Tobie Morgan Hitchcock
af45b33fa0 Return error when selecting from non-existent table in strict mode
Closes #13
2022-08-10 17:49:32 +01:00
Tobie Morgan Hitchcock
3c57496655 Ensure aliased GROUP BY fields are output correctly 2022-07-30 22:57:30 +01:00
Tobie Morgan Hitchcock
54f7395555 Add initial integration tests 2022-07-28 10:00:06 +01:00
Tobie Morgan Hitchcock
d619633340 Enable new database strict mode configuration 2022-07-27 18:20:04 +01:00
Tobie Morgan Hitchcock
a2c5ea237b Fix bug when defining NS / DB without first selecting NS / DB
Closes #12
2022-07-26 10:06:33 +01:00
Tobie Morgan Hitchcock
81bad3211d Improve command-line logging 2022-07-19 09:28:24 +01:00
Tobie Morgan Hitchcock
90dfa9f49f Ensure LIMIT BY clause does not cause query to fail 2022-07-09 19:44:15 +01:00
Tobie Morgan Hitchcock
3417d152e0 Ensure PARALLEL clauses don’t run on WASM 2022-07-06 14:40:43 +01:00
Tobie Morgan Hitchcock
508538e0cc Add initial WebSocket JSON RPC implementation 2022-07-04 02:32:26 +01:00
Tobie Morgan Hitchcock
569182ee7b Implement LIVE and KILL statements 2022-06-28 11:54:04 +01:00
Tobie Morgan Hitchcock
34ba79428c Ensure correct permissions are used on each query 2022-06-28 11:54:04 +01:00
Tobie Morgan Hitchcock
eff4d2c5e9 Implement scope signup and signin functionality 2022-06-20 12:29:06 +01:00
Tobie Morgan Hitchcock
b4e2082196 Use BTreeMap for database execution variables 2022-06-20 02:13:28 +01:00
Tobie Morgan Hitchcock
20c4e03446 Ensure graph edges are purged correctly when deleted 2022-06-17 23:55:09 +01:00
Tobie Morgan Hitchcock
a687a7f4bf Ensure remote records in FETCH clauses are fetched correctly 2022-06-15 08:49:57 +01:00
Tobie Morgan Hitchcock
c0a78d8470 Implement graph traversal functionality 2022-06-15 08:49:57 +01:00