Commit graph

573 commits

Author SHA1 Message Date
Tobie Morgan Hitchcock
a4db20fb05 Add descriptions for all datastore key types 2023-02-12 12:19:26 +00:00
Tobie Morgan Hitchcock
94cdef565f Ensure function arguments are processed concurrently 2023-02-12 12:18:47 +00:00
Tobie Morgan Hitchcock
1e93c0f304 Ensure permissions are not chekced on PERMISSIONS clauses
Closes #1633
2023-02-12 11:48:11 +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
ab124a2e21 Ensure SQL http functions decode JSON responses correctly
Closes #1649
2023-02-11 17:22:09 +00:00
Tobie Morgan Hitchcock
d3e7936d5e Temporarily remove sql! parser runtime macro
Closes #1643
2023-02-09 10:53:19 +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
0a65ecd96d Remove unnecessary code 2023-02-03 09:54:05 +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
3f528ab183 Increase memory size of Model 2023-01-29 12:37:13 +00:00
Tobie Morgan Hitchcock
c16705690b Fix bug with Uuid::new() function when compiling 2023-01-26 19:22:03 +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
79d6107b4e Implement PartialOrd for SQL Geometry type
Originally implemented by @finnbear
2023-01-18 14:45:01 +00:00
Tobie Morgan Hitchcock
c37d93bcb9 Ensure edge records are output as RELATE statements in SQL export
Closes #1496
2023-01-17 10:41:34 +00:00
Tobie Morgan Hitchcock
286bbef507 Allow Record IDs for relations in RELATE statements 2023-01-17 10:33:05 +00:00
Tobie Morgan Hitchcock
9fa0a4fbb4 Ensure SQL rand() functions do not hang indefinitely 2023-01-17 10:28:54 +00:00
Tobie Morgan Hitchcock
bb0b10e38a Add functionality to generate different Record IDs
Closes #1353
2023-01-17 09:53:47 +00:00
Tobie Morgan Hitchcock
996b9c1375 Use UUIDv7 as default UUID type 2023-01-17 09:51:58 +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
3a1294029e Add SQL array::all(), array::any(), array::min(), and array::max() functions
Closes #1588
2023-01-17 09:00:30 +00:00
Tobie Morgan Hitchcock
8f89f8729c Update 3rd party dependencies
Closes #1593
2023-01-17 09:00:30 +00:00
Tobie Morgan Hitchcock
06363e29a7 Add function for raw string output 2023-01-15 09:38:07 +00:00
Allen Lantz
07a2e5f009
Ensure invalid datetimes to not panic (#1550) 2023-01-15 09:29:46 +00:00
Rushmore Mushambi
63ba510b09
Use spawn_local instead of tokio::spawn on WebAssembly (#1595) 2023-01-14 19:56:40 +00:00
Rushmore Mushambi
7f927d77aa
Make conversion from Rust <-> SurrealDB lossless (#1600) 2023-01-14 19:29:39 +00:00
Tobie Morgan Hitchcock
db4ac267c2 Ensure std::time::Instant is replaced with trice::Instant everywhere 2023-01-10 19:50:51 +00:00
Tobie Morgan Hitchcock
7fabf54593 Add ability to define global parameters on database
Closes #133
2023-01-09 15:49:47 +00:00
Tobie Morgan Hitchcock
2949ea7f4d Add SQL is::datetime() function
Closes #1301
2023-01-09 09:52:21 +00:00
Tobie Morgan Hitchcock
cca04de5c4 Add SQL time::format() function to JavaScript context 2023-01-09 09:52:21 +00:00
Tobie Morgan Hitchcock
b357e24e44 Replace std::time::Instant with trice::Instant 2023-01-09 09:52:21 +00:00
Tobie Morgan Hitchcock
f5739cba48 Add SQL time::timezone() function
Related to #1428
2023-01-09 09:52:20 +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
1162e4a8ce Use simplified error strings for errors at crate level 2023-01-08 14:51:36 +00:00
Tobie Morgan Hitchcock
1cef0946dc Don’t allow invalid aggregate functions to be used in GROUP BY clauses 2023-01-08 14:36:44 +00:00
Tobie Morgan Hitchcock
369a100c92 Disallow zero-length SQL Ident values
Closes #1583
2023-01-08 09:05:31 +00:00
Tobie Morgan Hitchcock
9c5178ef0a Add tests for SQL array::group() function 2023-01-07 20:02:49 +00:00
Tobie Morgan Hitchcock
44f064a686 Add additional SQL array functions to JavaScript context 2023-01-07 20:02:37 +00:00
Tobie Morgan Hitchcock
b53103c9c7 Add SQL array::group() function 2023-01-07 19:40:56 +00:00
Rushmore Mushambi
513f213a4a
Fix version string (#1585) 2023-01-07 13:57:20 +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
Rushmore Mushambi
953a2008e2
Rename the engines module to engine (#1576) 2023-01-07 08:32:18 +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
98a5d75d63 Add SurrealQL functions to JavaScript runtime 2023-01-04 07:51:21 +00:00
Tobie Morgan Hitchcock
c0d5aace54 Allow trailing commas in SQL Geometry types
Closes #1523
2023-01-03 17:52:22 +00:00
Tobie Morgan Hitchcock
916805b9cc Use $input instead of $value in INSERT statements 2023-01-01 16:18:39 +00:00
Tobie Morgan Hitchcock
b8c5f23d56 Don’t run permissions on DEFINE EVENT and DEFINE TABLE queries
Closes #1570
2023-01-01 16:18:39 +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
Tobie Morgan Hitchcock
48a8d7b6eb Fix clippy linting warnings 2022-12-31 17:05:39 +00:00
Tobie Morgan Hitchcock
8355ce7f89 Fix clippy linting warnings 2022-12-31 08:17:54 +00:00
Rushmore Mushambi
a24bb4f4b8
Allow memory as an address endpoint in CLI sql command (#1563) 2022-12-30 23:53:45 +00:00
Rushmore Mushambi
d7c26bd64b
Fix Error import (#1560) 2022-12-30 12:57:47 +00:00
Finn Bear
54f337c15b
Add not function for negation of a value (#1542) 2022-12-30 09:34:46 +00:00
Rushmore Mushambi
c2dce39f91
Integrate client library into surrealdb crate (#1514) 2022-12-30 08:23:19 +00:00
Tobie Morgan Hitchcock
fee14d8477 Ensure ** operator works correctly 2022-12-27 12:55:53 +00:00
Tobie Morgan Hitchcock
1ce6c4bae6 Process futures before using as function arguments
Closes #1538
2022-12-22 08:33:57 +00:00
CelebrateVC
3048748573
Ensure last array items (array[$]) compare correctly (#1534) 2022-12-20 10:31:53 +00:00
Tobie Morgan Hitchcock
44c3f32f69 Fix clippy linting warnings 2022-12-20 10:30:40 +00:00
Tobie Morgan Hitchcock
8bd3d8046c Ensure uncaught JavaScript exceptions are caught
Closes #1461
2022-12-18 20:48:37 +00:00
Tobie Morgan Hitchcock
3ab5a9fffe Add IN and NOT IN operators
Closes #1532
2022-12-18 18:14:07 +00:00
Etienne Bruines
cef01ad790
Add SQL math::pow() function and ** operator (#1239) 2022-12-18 14:56:07 +00:00
Tobie Morgan Hitchcock
df954a9554 Ensure transaction cache is cleared when necessary
Closes #1526
2022-12-18 10:30:07 +00:00
Aman Sharma
e1e617cff7
Add SQL array::insert() function (#1504) 2022-12-17 21:03:13 +00:00
Tobie Morgan Hitchcock
0c2fe82f32 Allow whitespace around JavaScript function arguments
Closes #1530
2022-12-17 16:23:20 +00:00
Tobie Morgan Hitchcock
6804c6d79b Ensure RocksDB range scans are inclusive at the start 2022-12-12 19:38:43 +00:00
Tobie Morgan Hitchcock
c3db35cbeb Prevent recursive queries inside futures
Closes #1513
2022-12-11 23:55:38 +00:00
Tobie Morgan Hitchcock
dcc28a6ec7 Allow SELECT statements to START AT 0
Closes #1516
2022-12-09 16:02:36 +00:00
Rushmore Mushambi
59dcc44883
Replace surf with reqwest (#1512) 2022-12-08 18:39:46 +00:00
Tobie Morgan Hitchcock
406e277c3b Ensure crate builds with no-default-features 2022-12-07 19:30:29 +00:00
Tobie Morgan Hitchcock
bcb903c0af Ensure functions are in alphabetical order 2022-12-07 19:29:44 +00:00
Tobie Morgan Hitchcock
a9de682370 Ensure parameters can be used in RELATE statements without spaces
Closes #1447
2022-12-04 22:07:43 +00:00
Tobie Morgan Hitchcock
a3d0f46994 Add current INSERT value as parameter value to ON DUPLICATE KEY clause
Closes #1376
2022-12-04 20:59:30 +00:00
Tobie Morgan Hitchcock
3c4f194610 Ensure string::slice does not panic with usize overflow 2022-12-03 23:30:38 +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
Allen Lantz
3d3cab4b65
Add SQL array::flatten() function (#1308) 2022-11-28 12:18:30 +00:00
Kazantcev Andrey
3f26273128
Optimize the map builder macros (#1483) 2022-11-28 10:36:12 +00:00
Tobie Morgan Hitchcock
20cbbb203e Ensure SQL array::complement function is correct 2022-11-27 19:42:24 +00:00
Tobie Morgan Hitchcock
77b24cda26 Ensure double quote characters are always escaped properly
Closes #1488
2022-11-27 11:47:31 +00:00
Tobie Morgan Hitchcock
8b5a99c321 Support negative offsets in SQL string::slice() function
Closes #1490
2022-11-27 11:47:31 +00:00
Tobie Morgan Hitchcock
f0520313b5 Ensure no HTTP body is sent when not specified
When calling the `http::put()`, `http::post()`, and `http::patch()` SQL functions, the HTTP body is not added or sent if it is specified as `NONE`.

Closes #1492
2022-11-27 10:13:29 +00:00
Tobie Morgan Hitchcock
37871ceb81 Ensure math::variance() function does not divide by zero 2022-11-23 09:45:32 +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
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
6b20bbd5f7 Add SQL array::complement function
Closes #1315
2022-11-03 11:49:08 +00:00
Tobie Morgan Hitchcock
a4db0d8427 Ensure parameters in record ranges are computed 2022-11-03 10:55:47 +00:00
Tobie Morgan Hitchcock
7f953319ec Use consistent singular function naming for SQL time functions 2022-11-03 10:50:51 +00:00
Tobie Morgan Hitchcock
f3c9a9ab4b Ensure record is only cleared when permissions have been checked
Closes #1429
2022-11-02 14:26:27 +00:00
Tobie Morgan Hitchcock
e9615cd5ff Add SQL is::url() function for checking if a string is a URL 2022-11-02 14:26:27 +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
ed18003223 Use Chamberlain Duquette geo algorithm to calculate geometry areas
The Chamberlain Duquette geo algorithm is now used to return the geodesic area of a SQL Geometry in meters squared.

Closes #1414
2022-11-01 00:23:58 +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
Tobie Morgan Hitchcock
af9bd5b62f Support path expressions after Record IDs with integer IDs 2022-10-30 01:32:27 +00:00
Tobie Morgan Hitchcock
12b6e04539 Implement inclusive and unbounded record ranges
Closes #1412
Closes #1413
2022-10-30 01:32:27 +00:00