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
Tobie Morgan Hitchcock
d29961ee19
Ensure Errors can be converted into Strings
2022-05-11 21:43:11 +01:00
Tobie Morgan Hitchcock
ca80e73285
Fix clippy lint warnings
2022-05-11 15:23:15 +01:00
Tobie Morgan Hitchcock
17e8ea55b5
Implement SQL database exporting and importing
2022-05-11 15:23:15 +01:00
Tobie Morgan Hitchcock
3498e57e04
Implement web authentication session validation
2022-05-11 15:23:15 +01:00
Tobie Morgan Hitchcock
cc40e26e3f
Add additional functions on Auth type for validating authentication
2022-05-11 15:23:07 +01:00
Tobie Morgan Hitchcock
640c0b0b12
Allow for alternative phrasing in DEFINE FIELD clause
2022-05-09 23:24:42 +01:00
Tobie Morgan Hitchcock
43d361646c
Ensure value mem size test passes correctly
2022-05-09 08:19:01 +01:00
Tobie Morgan Hitchcock
82140410d6
Remove unused 3rd party crate
2022-05-07 14:58:53 +01:00
Tobie Morgan Hitchcock
a03d5a7551
Implement SQL Regex as a newtype tuple struct
2022-05-07 14:57:14 +01:00
Tobie Morgan Hitchcock
79e9269f14
Add value size checks tests
2022-05-06 23:33:19 +01:00
Tobie Morgan Hitchcock
fc2c48647c
Allow large enum variant size for Datastore and Transaction
2022-05-06 23:09:49 +01:00
Tobie Morgan Hitchcock
5921a6b632
Fix module_inception clippy lint warning
2022-05-06 23:09:32 +01:00
Tobie Morgan Hitchcock
1e2ba72e37
Reduce mem size of Error enum types
2022-05-06 23:09:08 +01:00
Tobie Morgan Hitchcock
2239e4becf
Improve Datastore and Transaction errors
2022-05-06 21:57:12 +01:00
Tobie Morgan Hitchcock
4d072a7f6c
Reduce mem size of SQL Model by converting to an enum
2022-05-06 17:02:44 +01:00
Tobie Morgan Hitchcock
1e49a00840
Update 3rd party dependencies
2022-05-05 12:40:05 +01:00
Tobie Morgan Hitchcock
0125cb28b0
Implement Deref on SQL Order type
2022-05-05 12:27:08 +01:00
Tobie Morgan Hitchcock
89f731c903
Implement SQL Idiom as a newtype tuple struct
2022-05-05 12:26:46 +01:00
Tobie Morgan Hitchcock
041f220727
Only import tokio sync feature
2022-05-05 12:20:45 +01:00
Tobie Morgan Hitchcock
683039e08f
Don’t duplicate methods on items which implement Deref
2022-05-05 10:24:52 +01:00
Tobie Morgan Hitchcock
4824f1b627
Enable multi duration types (1d12h30m) in SQL
2022-05-05 10:24:52 +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
0a3fe67358
Implement SQL Cond 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
ed92fb4d85
Implement SQL Ident 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
1dd3095783
Implement SQL Timeout as a newtype tuple struct
2022-05-05 10:24:46 +01:00
Tobie Morgan Hitchcock
42fa91c7bd
Implement SQL Script as a newtype tuple struct
2022-05-05 10:24:46 +01:00
Tobie Morgan Hitchcock
1f05b32f93
Implement SQL Param as a newtype tuple struct
2022-05-05 10:24:46 +01:00
Tobie Morgan Hitchcock
bd6f01971f
Implement SQL Query as a newtype tuple struct
2022-05-05 10:19:19 +01:00
Tobie Morgan Hitchcock
643592d750
Implement SQL Split as a newtype tuple struct
2022-05-05 10:19:19 +01:00
Tobie Morgan Hitchcock
b6cc3ca1ff
Implement SQL Fetch as a newtype tuple struct
2022-05-05 10:19:19 +01:00
Tobie Morgan Hitchcock
745fa4fd97
Implement SQL Group as a newtype tuple struct
2022-05-05 10:19:05 +01:00
Tobie Morgan Hitchcock
ec6cfc4fef
Ensure TIMEOUT clauses are processed correctly
2022-05-04 23:37:57 +01:00
Tobie Morgan Hitchcock
143da56728
Implement SQL Array as a newtype tuple struct
2022-05-04 23:37:57 +01:00
Tobie Morgan Hitchcock
3ee1ddb5b1
Implement SQL Object as a newtype tuple struct
2022-05-04 23:37:15 +01:00
Tobie Morgan Hitchcock
5182359813
Improve doc comments on error variants
2022-05-04 12:41:34 +01:00
Tobie Morgan Hitchcock
896e384b98
Change method name so it doesn’t conflict with std::ops::Add::add
2022-05-04 11:34:17 +01:00
Tobie Morgan Hitchcock
f33031ca6b
Ensure doc tests compile successfully
2022-05-04 10:11:51 +01:00
Tobie Morgan Hitchcock
c5960a028e
Improve comments in public library package
2022-05-04 00:49:38 +01:00
Tobie Morgan Hitchcock
65d0e3138a
Ensure all necessary SQL types are publicly exported
2022-05-04 00:13:37 +01:00
Tobie Morgan Hitchcock
ffc3ed82f7
Simplify external API when working with Datastore
2022-05-04 00:07:46 +01:00
Tobie Morgan Hitchcock
6a8c53b51e
Don’t use custom type definition for query responses
2022-05-03 17:47:47 +01:00
Tobie Morgan Hitchcock
01ab9375a3
Remove duplicate SQL string::substr() function
2022-05-02 23:22:22 +01:00
Tobie Morgan Hitchcock
0cbcb3b374
Simplify database query response object
2022-05-02 00:35:01 +01:00
Tobie Morgan Hitchcock
a4e07f693b
Make certain functions private to crate
2022-05-01 23:25:53 +01:00
Tobie Morgan Hitchcock
1697beda9c
No need to store the actual error on the executor
2022-05-01 10:35:26 +01:00
Tobie Morgan Hitchcock
d5fab4fbf0
Remove string::contains() SQL function
2022-04-30 21:47:19 +01:00
Tobie Morgan Hitchcock
355f1aac7b
Don’t override context unnecessarily
2022-04-29 21:43:44 +01:00
Tobie Morgan Hitchcock
6f93c38cd2
Add SQL OUTSIDE operator for geometry types
2022-04-29 21:41:57 +01:00
Tobie Morgan Hitchcock
fb27185435
Remove unused import
2022-04-29 21:40:02 +01:00
Tobie Morgan Hitchcock
f5be6a3227
Remove unused time functions
2022-04-28 23:31:51 +01:00
Tobie Morgan Hitchcock
4c8d9dbb63
implement COLLATE and NUMERIC ordering in ORDER BY clauses
2022-04-27 16:21:51 +01:00
Tobie Morgan Hitchcock
4bc3b299aa
Implement RAND() ordering in ORDER BY clauses
2022-04-27 02:30:26 +01:00
Tobie Morgan Hitchcock
e6fe7e675b
Fix BEGIN / CANCEL / COMMIT full statements
2022-04-27 02:29:32 +01:00
Tobie Morgan Hitchcock
4275f93c57
Ensure random times are generated correctly
2022-04-24 12:03:17 +01:00
Tobie Morgan Hitchcock
8e283ecaeb
Only check fields if the document is a table record
2022-04-13 18:31:28 +01:00
Tobie Morgan Hitchcock
cbdba0a117
Implement INDEX clauses
2022-04-09 13:33:39 +01:00
Tobie Morgan Hitchcock
f958eea305
Fix typo in ixdb key-value store implementation
2022-04-09 10:08:51 +01:00
Tobie Morgan Hitchcock
a41e52098b
Improve performance of internal value conversion
2022-04-07 15:44:55 +01:00
Tobie Morgan Hitchcock
27a01bec08
Improve performance of embedded field path creation
2022-04-07 15:33:57 +01:00
Tobie Morgan Hitchcock
c4386f1549
Process PERMISSIONS clauses on document fields
2022-04-07 11:21:18 +01:00
Tobie Morgan Hitchcock
6b6d4f65f9
Process document fields correctly
2022-04-07 11:21:18 +01:00
Tobie Morgan Hitchcock
e378105f11
Add ‘every’ function on a value for field iteration
2022-04-07 11:21:18 +01:00
Tobie Morgan Hitchcock
9becf187f4
Add ‘each’ function on a value for field iteration
2022-04-07 11:12:10 +01:00
Tobie Morgan Hitchcock
285b83244c
Remove PRIORITY clause from DEFINE FIELD statement
2022-04-07 08:38:47 +01:00
Tobie Morgan Hitchcock
2a0c8ddb4a
Move duplicate code into dedicated functions
2022-04-07 08:35:39 +01:00
Tobie Morgan Hitchcock
f6b47d381b
Ensure WHERE conditions are computed correctly
2022-04-06 20:28:16 +01:00
Tobie Morgan Hitchcock
2b89702490
Improve code comments
2022-04-06 20:15:56 +01:00
Tobie Morgan Hitchcock
2e2756d9e8
Implement INFO sql statements
2022-04-06 12:06:33 +01:00
Tobie Morgan Hitchcock
cf20cd4396
Treat $this param as a special case
2022-04-06 00:11:33 +01:00
Tobie Morgan Hitchcock
892fc99527
Implement EVENT clauses
2022-04-06 00:09:23 +01:00
Tobie Morgan Hitchcock
5df1040dd8
Implement PERMISSIONS clauses
2022-04-06 00:09:23 +01:00
Tobie Morgan Hitchcock
200741a35e
Simplify &self in function definitions
2022-04-06 00:09:23 +01:00
Tobie Morgan Hitchcock
c1a128e7ab
No need to clone key when fetching value on context
2022-04-06 00:09:23 +01:00
Tobie Morgan Hitchcock
aab4d0b096
Implement FIELD TYPE / VALUE / ASSERT clauses
2022-04-06 00:09:23 +01:00
Tobie Morgan Hitchcock
8980929a3c
Ignore any errors when adding default NS / DB / TB
2022-04-04 23:24:39 +01:00
Tobie Morgan Hitchcock
64eedd413f
Use consistent coding style
2022-04-04 23:23:31 +01:00
Tobie Morgan Hitchcock
b85e983ce7
Improve database TYPE clause definitions
2022-04-04 22:43:10 +01:00
Tobie Morgan Hitchcock
876a1e581e
Simplify permissions definition and types
2022-04-04 22:37:16 +01:00
Tobie Morgan Hitchcock
664260ef0d
Enable internal conversion between values
2022-04-04 22:34:46 +01:00
Tobie Morgan Hitchcock
2b7a23c569
Make DEFINE TABLE and DEFINE FIELD permissions FULL by default
2022-04-04 20:05:50 +01:00
Tobie Morgan Hitchcock
1d66a4772d
Ensure correct ordering of values in datastore
2022-04-04 16:59:42 +01:00
Tobie Morgan Hitchcock
fd4752aff4
Add putc + delc functions for conditional put / del in kv store
2022-04-04 16:59:20 +01:00
Tobie Morgan Hitchcock
0df347732d
Finish implementation of record storing / purging
2022-04-02 13:25:42 +01:00
Tobie Morgan Hitchcock
099e1d17ff
Add common methods on document type
2022-04-02 13:23:45 +01:00
Tobie Morgan Hitchcock
b02ee12aaa
Make code more legible
2022-04-02 13:22:53 +01:00
Tobie Morgan Hitchcock
94ffc054a7
Fix clippy warnings
2022-04-01 23:28:54 +01:00
Tobie Morgan Hitchcock
d6aadfecac
Fix bug with datastore key bytes
2022-04-01 23:23:54 +01:00
Tobie Morgan Hitchcock
61c85e1c0f
Only include parallel functions when enabled
2022-04-01 23:22:35 +01:00
Tobie Morgan Hitchcock
f3ade9b9d8
Update 3rd party dependencies
2022-04-01 22:06:03 +01:00
Tobie Morgan Hitchcock
2bf5075dc4
Fix bug with DEFINE and PERMISSIONS statement formatting
2022-04-01 12:23:49 +01:00
Tobie Morgan Hitchcock
c45d383b77
Change name of OPTION statement options
2022-04-01 12:23:49 +01:00
Tobie Morgan Hitchcock
c6c43aea8a
Ensure OPTION IMPORT statement has opposite effect
2022-04-01 12:23:49 +01:00
Tobie Morgan Hitchcock
4dea5c72ee
Improve common function execution speed by inlining
2022-04-01 12:23:49 +01:00
Tobie Morgan Hitchcock
bf1a833a79
Don’t set meta field on records
2022-04-01 12:23:49 +01:00
Tobie Morgan Hitchcock
41c44ea709
Add runtime option for disabling permission checks
2022-04-01 12:23:49 +01:00
Tobie Morgan Hitchcock
1ea692d32e
Make code more consistent and simpler to read
2022-04-01 12:23:49 +01:00