Commit graph

190 commits

Author SHA1 Message Date
Finn Bear
38016a0ee6
Add SQL array::slice function. (#1855) 2023-04-25 22:48:09 +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
Finn Bear
f159187dbe
Store parsed regex::Regex in Value. (#1837) 2023-04-23 12:55:18 +01:00
Rushmore Mushambi
cd16d4af5c
Replace tokio::time with wasmtimer for Wasm targets (#1846) 2023-04-23 08:32:27 +01:00
Tobie Morgan Hitchcock
ee24f8d6a0 Ensure array::remove() function works correctly
Closes #1831
2023-04-20 19:23:13 +01:00
Tobie Morgan Hitchcock
97bb5a1775 Use any_ascii crate to convert unicode 2023-03-26 19:02:48 +01:00
Tobie Morgan Hitchcock
fb2356b17a Add SQL array::add() function for adding unique items
Related to #1690
2023-03-26 08:53:37 +01:00
Tobie Morgan Hitchcock
b49d58a362 Add additional SQL array functions
Closes #1725
Related to #1690

Add `array::append()`, `array::pop()`, `array::prepend()`, `array::push()`, `array::remove()`, and `array::reverse()` SQL functions
2023-03-25 22:37:47 +00:00
Tobie Morgan Hitchcock
2769033451 Update 3rd party dependencies 2023-03-25 20:49:00 +00:00
Tobie Morgan Hitchcock
9afb3499ae Sort casting functions by name 2023-03-20 15:22:19 +00:00
Emmanuel Keller
f3e605afde
Implements transaction isolation testing (#1674) 2023-03-10 15:24:27 +00:00
Tobie Morgan Hitchcock
cfdbb904a4 Fix build 2023-03-08 10:35:45 +00:00
Tobie Morgan Hitchcock
06d2d88594 Ensure HTTP requests timeout correctly
Closes #1677
2023-03-07 09:54:58 +00:00
Tobie Morgan Hitchcock
ca9e0f4d3a Rename JavaScript string::length() function to string::len() 2023-02-21 17:27:35 +00:00
Tobie Morgan Hitchcock
5e2157a0a2 Rename SQL string::length() function to string::len() 2023-02-18 21:07:37 +00:00
Tobie Morgan Hitchcock
0e8866b4e3 Add blueprint for JavaScript Web APIs 2023-02-13 17:47:09 +00:00
Tobie Morgan Hitchcock
1fb147eb5e Ensure custom JavaScript classes are cloneable 2023-02-13 16:03:29 +00:00
Tobie Morgan Hitchcock
838d4371fe Add static .is() function for comparison of custom JavaScript classes 2023-02-12 15:52:10 +00:00
Tobie Morgan Hitchcock
6556de7cd2 Allow function argument overloading on custom JavaScript classes 2023-02-12 15:51:47 +00:00
Tobie Morgan Hitchcock
612cd39b05 Add toJSON() method to custom JavaScript classes 2023-02-12 15:49:53 +00:00
Tobie Morgan Hitchcock
8cfc286beb Add global console object to JavaScript runtime
Closes #1634
2023-02-12 12:23:44 +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
84b026679f Update clippy linting tests 2023-02-03 11:47:07 +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
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
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
f5739cba48 Add SQL time::timezone() function
Related to #1428
2023-01-09 09:52:20 +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
005b27eae8
Drop the parallel feature (#1574) 2023-01-07 09:42:45 +00:00
Tobie Morgan Hitchcock
98a5d75d63 Add SurrealQL functions to JavaScript runtime 2023-01-04 07:51:21 +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
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
Etienne Bruines
cef01ad790
Add SQL math::pow() function and ** operator (#1239) 2022-12-18 14:56:07 +00:00
Aman Sharma
e1e617cff7
Add SQL array::insert() function (#1504) 2022-12-17 21:03:13 +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
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
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
4b14837009 Fix clippy lint warnings 2022-11-23 09:09:24 +00:00
Tobie Morgan Hitchcock
6b20bbd5f7 Add SQL array::complement function
Closes #1315
2022-11-03 11:49:08 +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
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
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
426fce00a8 Separate Future into standalone type 2022-10-31 23:24:44 +00:00
Rushmore Mushambi
12ded8b066
Log version when starting the server (#1358) 2022-10-27 01:58:08 -07:00
Tobie Morgan Hitchcock
790935b2b5 Ensure build succeeds without uuid_unstable build flag
Closes #1403
2022-10-27 00:31:37 -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
c9243dec3c Add new functions for gnerating v4 and v7 UUIDs
Related to #1353
2022-10-16 23:38:50 +01:00
Tobie Morgan Hitchcock
1d02601a4b Add time::format SQL function 2022-10-04 22:26:03 +01:00
Tobie Morgan Hitchcock
80040152a2 Add parse::url::scheme function for parsing a url protocol/scheme
Closes #1304
2022-10-04 00:28:30 +01:00
Finn Bear
f2bb4f64af
Limit time and memory available to Javascript functions (#1270) 2022-09-29 08:42:06 +01:00
Fabiano Frizzo
26c1cff9f1
Fix typo in function definition for math::round (#1260) 2022-09-28 01:48:46 +01:00
Rushmore Mushambi
9c0f9a381e
Feature gate more http functions (#1252) 2022-09-27 18:02:49 +01:00
CelebrateVC
d5a378b1be
Implement math functions that were marked as todo (#1218) 2022-09-25 10:55:07 +01:00
Finn Bear
fba743ef0b
Don't let surf panic on invalid URIs (#1205) 2022-09-24 01:25:05 +01:00
Tobie Morgan Hitchcock
5fe1fd0227 Fix linting warnings 2022-09-23 08:41:40 +01:00
Finn Bear
b31dbb28fe
Miscellaneous performance optimizations and code cleanup (#240) 2022-09-23 00:54:53 +01:00
Hugo Saracino
58cffa2de6
Add duration functions for calculating durations as integers (#257) 2022-09-23 00:48:49 +01:00
Finn Bear
825ccf0986
Separate sync and async fns again (#242) 2022-09-22 16:49:17 +01:00
Finn Bear
6dbe4d0807
Limit maximum potential cost of crypto::bcrypt functions (#239) 2022-09-21 03:47:21 +01:00
Finn Bear
b3ec3b4d8e
Use a dedicated executor thread for CPU-intensive functions (#186) 2022-09-21 02:27:28 +01:00
Finn Bear
de7d9299fd
Refactor function dispatch (#125) 2022-09-21 01:57:33 +01:00
James
13b14380c6
Fix anomalies in math functions (#222)
Co-authored-by: tsunyoku <mbruhyo@gmail.com>
2022-09-20 08:26:38 +01:00
James
782a5d4be6
Add crypto::bcrypt::generate and crypto::bcrypt::compare functions (#224) 2022-09-20 08:14:58 +01:00
Tobie Morgan Hitchcock
70970862f4 Add meta::id() and meta::tb() functions 2022-09-19 03:57:06 +01:00
Sven Taute
94dc566d3f
Fix bug in time::month() (#215) 2022-09-19 02:35:54 +01:00
Tobie Morgan Hitchcock
340af01227 Ensure is::uuid() function returns expected result
Closes #210
2022-09-18 17:44:14 +01:00
Tobie Morgan Hitchcock
2bc44af8cd Add session::token() function for retrieving authentication token claims data 2022-09-17 03:05:23 +01:00
Tobie Morgan Hitchcock
6a3b1d99b5 Ensure Record IDs are parsed as integers consistently
Closes #149
2022-09-14 23:40:19 +01:00
Tobie Morgan Hitchcock
10f01f365f Add session::sd() SQL function for retrieving session auth data 2022-09-05 00:57:09 +01:00
Finn Bear
3d83f086a6
Fix unbounded resource usage in crypto and rand SQL functions (#94) 2022-09-02 16:19:01 +01:00
Rushmore Mushambi
04831b1831
Make validation and parser functions more robust (#89)
Closes #87
2022-09-01 18:46:36 +01:00
Finn Bear
8f6d21c1fc
Refactor and optimize functions and Value operators (#80) 2022-09-01 01:27:52 +01:00
Finn Bear
b18b3cef3e
Refactor, optimization, and cleanup of code (#71) 2022-08-29 02:47:33 +01:00
Finn Bear
42d8260966
Ensure string::words SQL function handles multiple spaces correctly (#72) 2022-08-29 02:46:15 +01:00
Tobie Morgan Hitchcock
f8535b0546 Remove redundant clone 2022-08-29 00:06:24 +01:00
Finn Bear
3043538fdf
Accept Record IDs in type::table() SQL function (#69)
Closes #68
2022-08-28 10:46:20 +01:00
Tobie Morgan Hitchcock
48e0380dbe Ensure math::sum() returns a number when being called on a non-array value
Closes #65
2022-08-27 01:02:29 +01:00
Kian-Meng Ang
40157f6170
Fix typos (#42)
Found via `codespell -L crate,inout,ser,fetchs,te,tre,whats`.
2022-08-21 13:13:38 +01:00
Tobie Morgan Hitchcock
c10865bda5 Simplify toString function in JavaScript classes 2022-08-19 16:10:16 +01:00
Tobie Morgan Hitchcock
5f1156341c Store JavaScript classes in separate directory 2022-08-19 16:08:30 +01:00
Tobie Morgan Hitchcock
292d35280c Use default export as main JavaScript function 2022-08-18 08:33:21 +01:00
Tobie Morgan Hitchcock
500368958f Ensure errors are caught when defining JavaScript classes 2022-08-17 23:00:53 +01:00
Tobie Morgan Hitchcock
9c0fbf51f9 Remove JavaScript global surrealdb placeholder package 2022-08-17 22:50:19 +01:00
Tobie Morgan Hitchcock
890f2f527f Add a placeholder for JavaScript fetch() function 2022-08-17 22:46:45 +01:00
Tobie Morgan Hitchcock
35010b21ae Simplify casting function signatures 2022-08-17 22:45:31 +01:00