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
70ec7c599e
Add pretty-printing support for IF ELSE
statements
...
Related to #247
Related to #225
Related to #1319
2023-02-21 12:29:02 +00:00
Tobie Morgan Hitchcock
223d119b2c
Allow SQL subqueries to be ended witrh ;
character
...
Related to #247
Related to #225
Related to #1319
2023-02-20 20:40:05 +00:00
Tobie Morgan Hitchcock
185eb91f22
Allow raw SQL subqueries without surrounding brackets
...
Related to #247
Related to #225
Related to #1319
2023-02-20 14:24:37 +00:00
Tobie Morgan Hitchcock
275cf18a3a
Enable RETURN
statements in subqueries
...
Related to #1319
2023-02-19 19:47:34 +00:00
Tobie Morgan Hitchcock
f7dd73212d
Make SQL subquery behaviour understandable and consistent
...
Closes #1408
Closes #1441
2023-02-19 17:34:18 +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
132354e199
Fix typo in code comment
2023-02-18 18:30:23 +00:00
Tobie Morgan Hitchcock
ef7955c293
Ensure UTF surrogates are removed within strings
...
Closes #1661
2023-02-16 12:22:23 +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
0e8866b4e3
Add blueprint for JavaScript Web APIs
2023-02-13 17:47:09 +00:00
Tobie Morgan Hitchcock
d17b658163
Support us
in addition to µs
for microsecond durations
2023-02-13 16:06:36 +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
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 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
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
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
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
Aman Sharma
b92536b649
Add some From<Value> and TryFrom<Value> implementations ( #1401 )
2022-10-26 07:01:09 -07: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
9c788d9d21
Ensure unstable UUID functions are behind a build flag
2022-10-25 15:17:21 -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
e1797d6170
Add public function for enabling internal serialization
2022-10-25 04:52:24 -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
50a2c25688
Ensure cancelled context does not prevent FETCH of records
...
Closes #1395
2022-10-22 22:19:12 +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
2ceb10f4cb
Allow Record IDs defined within parameters to be used in CREATE and RELATE statements
...
Closes #1383
2022-10-19 19:16:31 +01:00
Tobie Morgan Hitchcock
7f84504170
Remove old code comment
2022-10-19 18:56:56 +01:00
Tobie Morgan Hitchcock
67eb4b97a1
Fix tests 😖
2022-10-19 15:48:50 +01:00
Tobie Morgan Hitchcock
f0b30e9526
Format strings with ’
single quotes if string does not contain any ’
characters
2022-10-19 11:09:09 +01:00
Tobie Morgan Hitchcock
227bb0a3ce
Ensure database doesn’t panic when rounding decimal values with more than 16 decimal places
...
Closes #1378
2022-10-19 11:06:17 +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
ad6ee5b42d
Add some additional code comments
2022-10-19 10:55:19 +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
8902fc0a70
Don’t automatically treat naive dates as datetimes
...
Closes #1328
2022-10-17 03:34:07 +01:00
Tobie Morgan Hitchcock
eca8cd8d1d
Ensure SQL datetimes are formatted correctly as strings
2022-10-17 03:25:58 +01:00
Tobie Morgan Hitchcock
d2761c6bf6
Ensure RELATE
statements parse correctly with parameters
...
Closes #1313
2022-10-17 03:13:40 +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
c63fc47bc0
Ensure Record IDs with string-based integers, are output correctly
...
Closes #1327
2022-10-17 00:05:38 +01:00
Tobie Morgan Hitchcock
d148ca9ab9
Ensure Record IDs in single / double quoted strings are parsed consistently
...
Closes #1327
2022-10-17 00:03:46 +01: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