Tobie Morgan Hitchcock
56d3b0e861
Fix bug where records couldn’t be updated after defining an index
...
Closes #57
2022-08-25 14:50:11 +01:00
Tobie Morgan Hitchcock
aca9cb6c34
Update 3rd party dependencies
2022-08-23 23:52:43 +01:00
Tobie Morgan Hitchcock
89915f9a62
Improve the instructions for running with Docker
2022-08-23 11:38:36 +01:00
Tobie Morgan Hitchcock
0519ca60bc
Return an error if the specified datastore is not able to be initiated
2022-08-21 20:28:54 +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
28f66f4127
Update readme file for Crates.io
2022-08-20 11:30:50 +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
d6de09bd0a
Update 3rd party dependencies
2022-08-17 22:45:31 +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
Yusuke Kuoka
1d3880d652
Initial implementation of SurrealDB KVS for FoundationDB ( #37 )
...
Referenced in discussion #25
Closes #38
2022-08-15 19:35:41 +01:00
Tobie Morgan Hitchcock
68f1b014a9
Release 1.0.0-beta.6
2022-08-13 01:43:23 +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
33ab50b541
Update 3rd party dependencies
2022-08-11 17:41:20 +01:00
Tobie Morgan Hitchcock
2ffa71d520
Ensure aliased field is output when fetching a multi-yield expressions with final alias
...
Closes #28
2022-08-10 17:49:32 +01:00
Tobie Morgan Hitchcock
20a6ed88d3
Ensure multi-yield path expression alias outputs are flattened
...
Closes #27
2022-08-10 17:49:32 +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
367fa6b33b
Add documentation link to crates.io
2022-08-10 17:49:32 +01:00
Tobie Morgan Hitchcock
af45b33fa0
Return error when selecting from non-existent table in strict mode
...
Closes #13
2022-08-10 17:49:32 +01:00
Tobie Morgan Hitchcock
bac8aa31a3
Implement config definition caching within a transaction
...
Closes #21
2022-08-08 20:44:35 +01:00
Tobie Morgan Hitchcock
863830cf3f
Ensure FIELD definitions are not output two in SQL export
...
CLoses #16
2022-08-05 15:46:49 +01:00
Tobie Morgan Hitchcock
96225afb44
Allow multiple table types in DEFINE FIELD record definition
...
Closes #15
2022-08-04 16:12:04 +01:00
Tobie Morgan Hitchcock
1869e1ddbc
Allow spacing in DEFINE FIELD … TYPE clause
2022-08-04 15:11:50 +01:00
Tobie Morgan Hitchcock
f970809030
Fix deletion of embedded array fields using flat path style
2022-08-02 03:12:03 +01:00
Tobie Morgan Hitchcock
3ab94a5abf
Release 1.0.0-beta.5
2022-08-01 10:28:43 +01:00
Tobie Morgan Hitchcock
3c57496655
Ensure aliased GROUP BY fields are output correctly
2022-07-30 22:57:30 +01:00
Tobie Morgan Hitchcock
b5b8f70330
Add initial integrations tests for futures
2022-07-30 22:57:14 +01:00
Tobie Morgan Hitchcock
ad4393f6ed
Add initial integration tests for SQL models
2022-07-29 10:48:23 +01:00
Tobie Morgan Hitchcock
b68a1814ea
Add initial integration tests for DEFINE statements
2022-07-29 09:42:00 +01:00
Tobie Morgan Hitchcock
c8cba2c64d
Remove VOID type
2022-07-28 21:54:59 +01:00
Tobie Morgan Hitchcock
89baebbd24
Fix DEFINE INDEX UNIQUE statement parsing
2022-07-28 20:27:39 +01:00
Tobie Morgan Hitchcock
57caaff01d
Release 1.0.0-beta.4
2022-07-28 10:00:54 +01:00
Tobie Morgan Hitchcock
54f7395555
Add initial integration tests
2022-07-28 10:00:06 +01:00
Tobie Morgan Hitchcock
078d3d4868
Ensure field values are set even if the field is not specified
2022-07-28 09:42:04 +01:00
Tobie Morgan Hitchcock
d619633340
Enable new database strict mode configuration
2022-07-27 18:20:04 +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
6d36aa0b2c
Default TABLE permissions are now NONE not FULL
2022-07-27 09:15:35 +01:00
Tobie Morgan Hitchcock
a2c5ea237b
Fix bug when defining NS / DB without first selecting NS / DB
...
Closes #12
2022-07-26 10:06:33 +01:00
Tobie Morgan Hitchcock
233a56287b
Release 1.0.0-beta.3
2022-07-24 01:36:49 +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
66946397ed
Use function() {} instead of fn::future -> () => {} syntax for SQL embedded functions
...
Closes #8
2022-07-24 01:15:26 +01:00
Tobie Morgan Hitchcock
a71562df9f
Use <future> instead of fn::future syntax for SQL futures
...
Closes #9
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
5c0a0ca556
Add ability to specify durations with years
2022-07-23 20:28:52 +01:00
Tobie Morgan Hitchcock
667b43655d
Release 1.0.0-beta.2
2022-07-19 23:29:21 +01:00
Tobie Morgan Hitchcock
81bad3211d
Improve command-line logging
2022-07-19 09:28:24 +01:00
Tobie Morgan Hitchcock
97159203e1
Update crates.io package metadata
2022-07-19 01:37:56 +01:00
Tobie Morgan Hitchcock
bbd557e0c0
Update 3rd party dependencies
2022-07-19 00:14:46 +01:00
Tobie Morgan Hitchcock
8a90139fe3
Ensure correct version is specified in Cargo.toml files
2022-07-19 00:09:06 +01:00
Tobie Morgan Hitchcock
eaedfbbb7c
Add ability to use binary expressions in SQL SELECT statements
2022-07-18 22:10:00 +01:00
Tobie Morgan Hitchcock
0d05446976
Ensure TiKV transactions do not panic when a transaction is dropped
2022-07-18 18:56:08 +01:00
Tobie Morgan Hitchcock
c9ad4e60ce
Implement http SQL functions
2022-07-17 19:58:27 +01:00
Tobie Morgan Hitchcock
31adc4538d
Implement DEFINE TABLE AS
foreign table statements
2022-07-16 23:24:04 +01:00
Tobie Morgan Hitchcock
0394fe5b90
Ensure temporary metadata is removed from records when output
2022-07-16 23:22:23 +01:00
Tobie Morgan Hitchcock
8dbbcf1885
Improve code comments
2022-07-16 23:21:45 +01:00
Tobie Morgan Hitchcock
c9a5b66d9c
Ensure aggregate functions are computed in GROUP BY clauses
2022-07-16 23:20:50 +01:00
Tobie Morgan Hitchcock
c9d9b041f7
Simplify v.into() value conversion statements
2022-07-16 23:18:24 +01:00
Tobie Morgan Hitchcock
db7ed18119
Consolidate field expression code into single location
2022-07-10 23:11:28 +01:00
Tobie Morgan Hitchcock
b0bcecf5da
Fix clippy warnings
2022-07-10 22:57:19 +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
29e500017d
Ensure foreign table views are updated when redefined
2022-07-08 21:56:33 +01:00
Tobie Morgan Hitchcock
a430e89c1f
Ensure values are parsed in the correct order
2022-07-08 10:19:01 +01:00
Tobie Morgan Hitchcock
41d7d2842d
Update 3rd party dependencies
2022-07-07 11:37:02 +01:00
Tobie Morgan Hitchcock
4ab552a8e3
Allow PATCH clauses to accept parameters
2022-07-07 11:22:41 +01:00
Tobie Morgan Hitchcock
63d099e305
Fix code comment typo
2022-07-07 10:55:59 +01:00
Tobie Morgan Hitchcock
3417d152e0
Ensure PARALLEL clauses don’t run on WASM
2022-07-06 14:40:43 +01:00
Tobie Morgan Hitchcock
f73ecebba1
Remove unused dependency ‘utf-8’
2022-07-06 14:40:33 +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
6ef120f7ce
Ensure record ids are escaped properly in JSON format
2022-07-06 10:09:21 +01:00
Tobie Morgan Hitchcock
073c15b826
Escape record id parts like ⟨this⟩ rather than this
2022-07-06 10:08:11 +01:00
Tobie Morgan Hitchcock
2d076c79a7
Format SQL Durations as a string format
2022-07-05 11:36:10 +01:00
Tobie Morgan Hitchcock
6c5ddbf70f
Ensure undefined fields are removed in schemafull mode
2022-07-04 17:54:43 +01:00
Tobie Morgan Hitchcock
59d7e733eb
Ignore errors when automatically adding NS, DB, or TB definitions
2022-07-04 17:54:03 +01:00
Tobie Morgan Hitchcock
b575f3a9db
Remove unused files
2022-07-04 17:54:03 +01:00
Tobie Morgan Hitchcock
8ebcff6d18
Ensure table is added if it does not exist
...
If the user is is creating a record in a table / collection that does not exist, and the user is authenticated with KV, NS, or DB level permissions, then we need to add the table with the default definition parameters.
2022-07-04 13:58:59 +01:00
Tobie Morgan Hitchcock
8ca211f96d
Simplify SQL string::slug function implementation
2022-07-04 10:41:18 +01:00
Tobie Morgan Hitchcock
508538e0cc
Add initial WebSocket JSON RPC implementation
2022-07-04 02:32:26 +01:00
Tobie Morgan Hitchcock
8dc7341cb1
Add functions on SQL Value for matching on type
2022-07-04 02:02:46 +01:00
Tobie Morgan Hitchcock
7af9daf159
Update 3rd party dependencies
2022-07-04 01:59:02 +01:00
Tobie Morgan Hitchcock
527361efd4
Ensure script function is asynchronous
2022-07-04 01:25:35 +01:00
Tobie Morgan Hitchcock
039d2fbd54
Use alphabetical ordering for Cargo.toml dependencies
2022-07-03 20:33:13 +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
d0c37f4d66
Enable parsing of thing records inside strings
...
This allows for thing records to be parsed within JSON strings.
2022-07-03 20:28:30 +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
bc16645d38
Ensure library build only includes specified features
2022-07-03 10:43:23 +01:00
Tobie Morgan Hitchcock
d5a6f80460
Ensure all operator keywords are one word only
2022-06-28 14:39:07 +01:00
Tobie Morgan Hitchcock
569182ee7b
Implement LIVE and KILL statements
2022-06-28 11:54:04 +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
44f20d3740
Remove unnecessary public function definitions in sql module
2022-06-28 11:54:04 +01:00
Tobie Morgan Hitchcock
34ba79428c
Ensure correct permissions are used on each query
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
86c2285564
Fix output of SQL DEFINE SCOPE statement
2022-06-20 15:51:29 +01:00
Tobie Morgan Hitchcock
eff4d2c5e9
Implement scope signup and signin functionality
2022-06-20 12:29:06 +01:00
Tobie Morgan Hitchcock
b93b87f2a1
Remove unused CONNECT clause on DEFINE SCOPE statements
2022-06-20 12:28:05 +01:00
Tobie Morgan Hitchcock
951ca55b54
Add SQL Thing parsing functionality to external API
2022-06-20 12:26:43 +01:00
Tobie Morgan Hitchcock
0cb42d7283
Add functionality to compute sql value within database context
2022-06-20 12:26:27 +01:00
Tobie Morgan Hitchcock
b4e2082196
Use BTreeMap for database execution variables
2022-06-20 02:13:28 +01:00
Tobie Morgan Hitchcock
20c4e03446
Ensure graph edges are purged correctly when deleted
2022-06-17 23:55:09 +01:00
Tobie Morgan Hitchcock
27f011d13c
Update 3rd party dependencies
2022-06-15 12:49:41 +01:00
Tobie Morgan Hitchcock
1f5acefa7c
Only store empty value in datastore for record edges
2022-06-15 08:50:59 +01:00
Tobie Morgan Hitchcock
a687a7f4bf
Ensure remote records in FETCH clauses are fetched correctly
2022-06-15 08:49:57 +01:00
Tobie Morgan Hitchcock
072b002593
Simplify datastore key serialization
2022-06-15 08:49:57 +01:00
Tobie Morgan Hitchcock
18cee9091a
Only allow for single values in RELATE statements
2022-06-15 08:49:57 +01:00
Tobie Morgan Hitchcock
37a3efc81b
Allow for spacing around subquery statements
2022-06-15 08:49:57 +01:00
Tobie Morgan Hitchcock
c0a78d8470
Implement graph traversal functionality
2022-06-15 08:49:57 +01:00
Tobie Morgan Hitchcock
8ce5d01727
Improve graph traversal expression parsing code
2022-06-08 19:50:29 +01:00
Tobie Morgan Hitchcock
1333ecf0df
Use separate module for Dir type
2022-06-08 19:16:06 +01:00
Tobie Morgan Hitchcock
a8fa9ecfb7
Only support strings or integers for Record IDs
2022-06-08 08:39:09 +01:00
Tobie Morgan Hitchcock
2c97d65e97
Fix bug with graph traversal expression parsing
2022-06-06 00:35:44 +01:00
Tobie Morgan Hitchcock
91a859f6b0
Ensure Params are treated as Idioms
2022-06-05 22:15:12 +01:00
Tobie Morgan Hitchcock
8b4f300120
Add support for multi-yield graph traversal expressions
2022-06-04 09:55:05 +01:00
Tobie Morgan Hitchcock
a9bf09db1e
Ensure edges are stored before indexes in RELATE statements
2022-06-02 09:07:28 +01:00
Tobie Morgan Hitchcock
525b02ca46
Ensure cast functions are output correctly as object keys
2022-06-01 10:50:07 +01:00
Tobie Morgan Hitchcock
bea90712a3
Enable ? operator in graph traversal queries
2022-05-31 21:30:56 +01:00
Tobie Morgan Hitchcock
4d9b3fd403
Ensure fields are not escaped when inserted as object keys
2022-05-31 20:47:02 +01:00
Tobie Morgan Hitchcock
3f568f3990
Simplify session conversion to database context
2022-05-31 19:00:32 +01:00
Tobie Morgan Hitchcock
01d21e1157
Implement INSERT and RELATE statements
2022-05-30 16:32:26 +01:00
Tobie Morgan Hitchcock
b37b027b60
Add ability to convert a record to another table
2022-05-30 16:21:38 +01:00
Tobie Morgan Hitchcock
9020618a0e
Add IntoIterator trait to SQL Model type
2022-05-30 16:05:05 +01:00
Tobie Morgan Hitchcock
45c81ad02b
Ensure all datastore keys encode correctly
2022-05-28 01:02:52 +01:00
Tobie Morgan Hitchcock
56f5f10046
Remove unnecessary std::convert::From implementations
2022-05-27 21:13:04 +01:00
Tobie Morgan Hitchcock
ea525648ae
Remove unnecessary lifetime specifiers
2022-05-25 10:42:10 +01:00
Tobie Morgan Hitchcock
44df5a8621
Allow modification of documents from subquery result sets
2022-05-25 10:39:36 +01:00
Tobie Morgan Hitchcock
32525602e2
Ensure changed index values are calculated correctly
2022-05-23 13:24:38 +01:00
Tobie Morgan Hitchcock
61b1e547b6
Always use simplified serialization unless specified explicitly
2022-05-21 10:07:32 +01:00
Tobie Morgan Hitchcock
64ddd407ca
Ensure correct trait is used in function definitions
2022-05-21 09:39:40 +01:00
Tobie Morgan Hitchcock
a78df680d2
Implement embedded javascript script functions
2022-05-21 09:39:40 +01:00
Tobie Morgan Hitchcock
5425d0b550
Enable $self or $this as special paramater names
2022-05-19 23:03:00 +01:00
Tobie Morgan Hitchcock
073285574a
No need to surround statements with an Arc
2022-05-18 12:18:00 +01:00
Tobie Morgan Hitchcock
82cbfad38d
Update 3rd party dependencies
2022-05-16 10:31:04 +01:00
Tobie Morgan Hitchcock
0edd707784
Only include executor crate with parallel feature
2022-05-16 10:28:47 +01:00
Tobie Morgan Hitchcock
52e8954ae4
Ensure library works in multi-threaded and single-threaded environments
2022-05-16 00:04:11 +01:00
Tobie Morgan Hitchcock
15fc4a0126
Ensure statements are properly escaped when output as a string
2022-05-15 09:42:32 +01:00
Tobie Morgan Hitchcock
75de89d9a1
Add support for both writeable and read-only transactions
2022-05-14 22:30:49 +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
4740fa7bb1
Only set constant variable when needed with parallel feature
2022-05-13 22:00:51 +01:00
Tobie Morgan Hitchcock
7bd5802e99
Remove tokio as a dependency
...
Closes SUR-102
2022-05-13 21:57:40 +01:00
Tobie Morgan Hitchcock
6ff2a78c88
Don’t use static futures for parallel query execution
...
Instead of using static futures when processing a query in parallel, we now use a new executor model, which allows us to process futures which make use of references. As a result, we can remove the need to store each statement in an Arc.
2022-05-13 21:57:40 +01:00