Tobie Morgan Hitchcock
2895026593
Use custom serialization compaction for DEFINE and REMOVE statements
2023-04-01 18:49:10 +01:00
Tobie Morgan Hitchcock
be42b3e7c9
Ensure strings are parsed last
2023-04-01 18:48:17 +01:00
Tobie Morgan Hitchcock
e629ddf9c5
Update LICENSE link on crates.io
2023-04-01 02:10:55 +01:00
Tobie Morgan Hitchcock
c3773b2e57
Release 1.0.0-beta.9
2023-04-01 02:07:04 +01:00
Tobie Morgan Hitchcock
8a726b794b
Add additional database type
2023-03-31 23:49:52 +01:00
Tobie Morgan Hitchcock
45094c76ce
Use custom serialization format
2023-03-31 23:49:52 +01:00
Rushmore Mushambi
179878d672
Add compile-time guarantees to make Surreal::delete
safer ( #1753 )
2023-03-31 23:49:29 +01:00
Tobie Morgan Hitchcock
78329abf97
Enable access to input data using $input
variable
...
Closes #1543
2023-03-31 20:00:21 +01:00
Tobie Morgan Hitchcock
cfb27e0929
Add Bytes
type for binary data
...
Related to #1652
2023-03-31 20:00:21 +01:00
Tobie Morgan Hitchcock
3408004c8c
Add initial support for method chaining within an Idiom
2023-03-31 20:00:21 +01:00
Tobie Morgan Hitchcock
0a328d4f0a
Add initial support for additional functionality in graph expressions
...
Related to #1658
2023-03-31 20:00:21 +01:00
Tobie Morgan Hitchcock
2e0093c41d
Improve SQL Idiom
path parsing
...
Closes #1653
2023-03-31 20:00:21 +01:00
Rushmore Mushambi
6e6621565d
Switch the HTTP engine to a binary protocol ( #1751 )
2023-03-31 18:15:15 +01:00
teenjuna
c7a2430fad
Fix typo in operator.rs
( #1750 )
2023-03-31 15:19:16 +01:00
Rushmore Mushambi
4a86af1d1f
Re-activate integration tests for the HTTP engine ( #1749 )
2023-03-31 13:38:09 +01:00
Tobie Morgan Hitchcock
cd5d452e5b
Ensure internal edge record fields can not be modified
...
Closes #1726
2023-03-30 19:30:49 +01:00
Diptesh Choudhuri
494203d358
Allow exporting to stdout ( #1701 )
2023-03-30 19:13:26 +01:00
Tobie Morgan Hitchcock
2be25cdcd2
Revert simple serialization of basic types
2023-03-30 16:52:31 +01:00
Tobie Morgan Hitchcock
e41a7f7014
Fix simple serialization of sequences and maps
2023-03-30 16:41:14 +01:00
Tobie Morgan Hitchcock
a1d8494de1
Only parse JavaScript functions beginning with function()
2023-03-30 15:19:18 +01:00
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
Tobie Morgan Hitchcock
86f768e996
Ensure tests work correctly when no features enabled
2023-03-30 11:10:07 +01:00
Tobie Morgan Hitchcock
33cbe6528f
Upgrade 3rd party dependencies
2023-03-30 11:08:36 +01:00
Finn Bear
50ea5c52cb
Fix #1732 - casting string containing decimal to int. ( #1734 )
2023-03-29 19:23:13 +01:00
Salvador Girones Gil
565717659a
Add functionality for open telemetry tracing ( #1727 )
2023-03-29 19:16:18 +01:00
Rushmore Mushambi
8a451ac61a
Temporarily disable integration tests for the HTTP engine, take 2 ( #1744 )
2023-03-29 19:14:40 +01:00
Rushmore Mushambi
108f080280
Temporarily disable integration tests for the HTTP engine ( #1741 )
2023-03-29 16:41:44 +01:00
Tobie Morgan Hitchcock
6ede630d41
Allow unbounded / untyped record type constraints
2023-03-27 13:42:33 +01:00
Tobie Morgan Hitchcock
3f5347e4b3
Fix code comments
2023-03-26 23:39:45 +01:00
Tobie Morgan Hitchcock
1293d23e59
Add test for multi-aggregate composed grouped maths queries
...
Closes #1689
2023-03-26 22:35:28 +01:00
Tobie Morgan Hitchcock
13fe68a871
Use custom crate for lexicographical sorting
2023-03-26 22:13:43 +01:00
Tobie Morgan Hitchcock
26a040df85
Update 3rd party dependencies
2023-03-26 22:13:27 +01:00
Tobie Morgan Hitchcock
97bb5a1775
Use any_ascii
crate to convert unicode
2023-03-26 19:02:48 +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
fb2356b17a
Add SQL array::add()
function for adding unique items
...
Related to #1690
2023-03-26 08:53:37 +01:00
Tobie Morgan Hitchcock
1102a2c6da
Add operator for unique array add
...
Related to #1690
2023-03-25 23:17:33 +00:00
Tobie Morgan Hitchcock
4dba9fc675
Don’t treat arrays as sets
...
Closes #1690
2023-03-25 22:38:09 +00: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
715b79c24e
Fix warnings in release mode
2023-03-25 20:48:51 +00:00
Tobie Morgan Hitchcock
cdac4f84cd
Add support for custom SQL functions
...
Closes #247
2023-03-25 19:44:03 +00:00
Tobie Morgan Hitchcock
a64ebdb4a2
Ensure sql::Statement
is Storeable
2023-03-25 19:42:45 +00:00
Tobie Morgan Hitchcock
f395162830
Simplify Cargo.toml file
2023-03-25 07:56:22 +00:00
Tobie Morgan Hitchcock
9afb3499ae
Sort casting functions by name
2023-03-20 15:22:19 +00:00
Rushmore Mushambi
735856e5b3
Add Axum example ( #1715 )
2023-03-20 15:20:57 +00:00
Tobie Morgan Hitchcock
407a4c3381
Ensure JavaScript function code is parsed correctly
...
Closes #1482
2023-03-18 14:52:16 +00:00
Tobie Morgan Hitchcock
42725789a0
Upgrade Rust code deprecation warnings
2023-03-18 09:18:40 +00:00
Tobie Morgan Hitchcock
f48de42695
Add suport for flattened query results with VALUE field
clauses
...
Closes #1326
2023-03-17 07:32:31 -04:00
Emmanuel Keller
19c287a011
Implement transaction debug tracing ( #1668 )
2023-03-16 09:11:30 -04:00
Tobie Morgan Hitchcock
b9df5e64ff
Add code and documentation comments
2023-03-16 07:13:47 -04:00
Finn Bear
b0811b263e
Fix #1698 - reduce code duplication in TiKV txn. ( #1699 )
2023-03-13 22:54:21 -04:00
Emmanuel Keller
f3e605afde
Implements transaction isolation testing ( #1674 )
2023-03-10 15:24:27 +00:00
Tobie Morgan Hitchcock
d31c6e4fb6
Output milliseconds in SQL Duration
strings
2023-03-09 19:32:32 +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
fa0ec302ca
Add extra tests for nanosecond and millisecond parsing
2023-03-07 09:54:58 +00:00
Tobie Morgan Hitchcock
d8723bf03a
Order database keys correctly
2023-03-07 09:54:58 +00:00
Alejandro
d7956ea73b
Add From<Vec<String> implementation to Value ( #1688 )
2023-03-07 09:52:34 +00:00
Tobie Morgan Hitchcock
5e2236dbfd
Add initial implementation for processing LIVE
queries
2023-02-22 18:04:30 +00:00
Tobie Morgan Hitchcock
ace60e4d1d
Enable DIFF
option in LIVE SELECT
queries
2023-02-22 18:04:30 +00:00
Tobie Morgan Hitchcock
0589465095
Ensure current document is passed into block statements
2023-02-22 18:04:30 +00:00
Tobie Morgan Hitchcock
c9e98b0a52
Fix pretty printing of block statements
2023-02-22 18:04:30 +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
9c18025cca
Use new SQL Block
type for <future>
expressions
2023-02-21 14:15:19 +00:00
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
ea84f839da
Update 3rd party dependencies
2023-02-11 23:00:03 +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
48756a0a96
Update 3rd party dependencies
...
Closes #1642
2023-02-07 08:44:25 +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
55dda013b6
Fix SQL function tests
2023-01-18 00:11:19 +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
5d4cb3bbbf
Fix continuous integration tests and build
2023-01-02 09:10:04 +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