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
Tobie Morgan Hitchcock
bcaea757c2
Add SQL session functions
2022-08-17 22:45:31 +01:00
Tobie Morgan Hitchcock
2945b7d724
Separate out synchronous and asynchronous SQL functions
2022-08-17 22:45:31 +01:00
Tobie Morgan Hitchcock
038246f054
Ensure JavaScript functions are not converted to empty objects
2022-08-16 19:27:59 +01:00
Tobie Morgan Hitchcock
d73b19a84c
Fix linting errors in Rust 1.63.0
2022-08-12 17:42:01 +01:00
Tobie Morgan Hitchcock
13d3d02dcf
Add SQL array sorting functions
2022-08-11 17:41:20 +01:00
Tobie Morgan Hitchcock
405a1e7b8d
Ensure http SQL functions run correctly in WebAssembly
2022-08-10 17:49:32 +01:00
Tobie Morgan Hitchcock
c8cba2c64d
Remove VOID type
2022-07-28 21:54:59 +01:00
Tobie Morgan Hitchcock
f633769b57
Fix linter warnings when using as external library
2022-07-27 14:13:30 +01:00
Tobie Morgan Hitchcock
d6269bbe3d
Ensure http module only builds when feature is enabled
2022-07-27 09:15:35 +01:00
Tobie Morgan Hitchcock
db3115fc7c
Add surrealdb module as a global object in JavaScript runtime
2022-07-24 01:15:26 +01:00
Tobie Morgan Hitchcock
3dc29e1228
Add initial ES6 JavaScript modules implementation with ‘os’ module
2022-07-24 01:15:26 +01:00
Tobie Morgan Hitchcock
d647e40d49
Define main embedded function script as a JavaScript module
2022-07-24 01:15:26 +01:00
Tobie Morgan Hitchcock
e9476b9f85
Add ability to handle quickjs errors ourselves
2022-07-24 01:15:25 +01:00
Tobie Morgan Hitchcock
c9ad4e60ce
Implement http SQL functions
2022-07-17 19:58:27 +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
63d099e305
Fix code comment typo
2022-07-07 10:55:59 +01:00
Tobie Morgan Hitchcock
338bf3e142
Switch from Boa to QuickJS for JavaScript runtime
2022-07-06 14:40:20 +01:00
Tobie Morgan Hitchcock
8ca211f96d
Simplify SQL string::slug function implementation
2022-07-04 10:41:18 +01:00
Tobie Morgan Hitchcock
527361efd4
Ensure script function is asynchronous
2022-07-04 01:25:35 +01:00
Tobie Morgan Hitchcock
663848172e
Simplify code for conversion between Boa and SurrealDB
2022-07-03 20:30:18 +01:00
Tobie Morgan Hitchcock
0c86061086
Accept Thing as argument to type::thing SQL function
2022-07-03 19:22:12 +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
3f4a144ef0
Ensure Date uses correct prototype in 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
Tobie Morgan Hitchcock
a78df680d2
Implement embedded javascript script functions
2022-05-21 09:39:40 +01:00
Tobie Morgan Hitchcock
1017e2fffb
Don’t clone variables when processing sub-contexts
...
Closes SUR-53
When creating a new context for subqueries or statement clauses, we used to have to clone any variables/values, and freeze the context, so that it could be used across threads and async boundaries.
Now with the new executor pattern for parallel queries, we can pass references instead, improving performance by removing unnecessary cloning of values.
2022-05-14 13:38:17 +01:00
Tobie Morgan Hitchcock
98fc9055af
Implement SQL Duration as a newtype tuple struct
2022-05-05 10:24:52 +01:00
Tobie Morgan Hitchcock
10f2911d44
Implement SQL Datetime as a newtype tuple struct
2022-05-05 10:24:52 +01:00
Tobie Morgan Hitchcock
1ed5df005e
Implement SQL Strand as a newtype tuple struct
2022-05-05 10:24:52 +01:00
Tobie Morgan Hitchcock
3233660037
Implement SQL Table as a newtype tuple struct
2022-05-05 10:24:46 +01:00
Tobie Morgan Hitchcock
143da56728
Implement SQL Array as a newtype tuple struct
2022-05-04 23:37:57 +01:00