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
Tobie Morgan Hitchcock
a938f017c4
Only allow OPTION statements to be run with KV/NS/DB auth levels
2022-04-01 09:20:44 +01:00
Tobie Morgan Hitchcock
7e51401ebb
Make code more concise and simpler to read
2022-04-01 00:40:16 +01:00
Tobie Morgan Hitchcock
7e2eae32c5
Ensure query auth level checks are logically correct
2022-04-01 00:36:23 +01:00
Tobie Morgan Hitchcock
c57c313c47
Add function for checking if record already exists
2022-04-01 00:35:35 +01:00
Tobie Morgan Hitchcock
9f7527c01a
Make simple value fetching functions synchronous
2022-03-25 21:15:55 +00:00
Tobie Morgan Hitchcock
2f033aa996
Remove unused functionality
2022-03-25 21:11:17 +00:00
Tobie Morgan Hitchcock
b3c4f982ec
Fix clippy lint errors
2022-03-25 20:31:45 +00:00
Tobie Morgan Hitchcock
e92134c92d
Ensure we can retrieve subsequent object fields
2022-03-25 18:45:14 +00:00
Tobie Morgan Hitchcock
87840e3e05
Implement GROUP BY clauses
2022-03-25 18:43:36 +00:00
Tobie Morgan Hitchcock
c2c25f68cf
Change array manipulation function workings
2022-03-24 13:03:15 +00:00
Tobie Morgan Hitchcock
7e4bf91a48
Forbid all usage of unsafe code
2022-03-23 15:12:29 +00:00
Tobie Morgan Hitchcock
6017d424eb
Implement FETCH clauses
2022-03-23 14:02:41 +00:00
Tobie Morgan Hitchcock
4c95db254a
Add datastore key type for graph edges
2022-03-23 14:02:41 +00:00
Tobie Morgan Hitchcock
f674ea0544
Implement ORDER BY clauses
2022-03-23 14:02:41 +00:00
Tobie Morgan Hitchcock
3370b20c38
Only allow simple fields for SPLIT, ORDER, and GROUP clauses
2022-03-23 14:02:03 +00:00
Tobie Morgan Hitchcock
652195032c
Implement SPLIT ON clauses
2022-03-23 14:02:02 +00:00
Tobie Morgan Hitchcock
0b3f4c5765
Prevent usize overflow when no records found
2022-03-23 12:05:50 +00:00
Tobie Morgan Hitchcock
5ae5046987
Implement REMOVE statements
2022-03-20 14:27:59 +00:00
Tobie Morgan Hitchcock
9778600304
Ensure all index data is removed when defining an index
2022-03-20 14:27:03 +00:00
Tobie Morgan Hitchcock
cb740dfcb0
Ensure transaction does not deadlock in DEFINE statements
2022-03-20 14:26:31 +00:00
Tobie Morgan Hitchcock
f8b747374f
Pass the current statement to the value iterator functions
2022-03-18 19:51:13 +00:00
Tobie Morgan Hitchcock
5b1d727c25
Enable fetching WHERE clause from statement in iterator
2022-03-18 19:50:47 +00:00
Tobie Morgan Hitchcock
24752a75d9
Enable support for numbers and strings in record ids
2022-03-18 07:24:36 +00:00
Tobie Morgan Hitchcock
364412b437
Improve datastore key creation functionality
2022-03-18 07:21:22 +00:00
Tobie Morgan Hitchcock
f509b88109
Ensure upper range is included in a |test:1..10| model
2022-03-17 22:26:34 +00:00
Tobie Morgan Hitchcock
73df91a438
Use BigDecimal for large number handling
2022-03-17 21:55:32 +00:00
Tobie Morgan Hitchcock
5d554d07d3
Use char instead of str for parsing where possible
2022-03-16 23:53:31 +00:00
Tobie Morgan Hitchcock
97c0e50654
Parse numbers as either integers or decimals
2022-03-16 23:19:50 +00:00
Tobie Morgan Hitchcock
636eee4a25
Don’t treat all numbers as decimals unless necessary
2022-03-16 21:15:13 +00:00
Tobie Morgan Hitchcock
dc2b436131
Simplify common number parsing
2022-03-16 21:04:22 +00:00
Tobie Morgan Hitchcock
f13aafe576
Ensure numbers are parsed inside (bracket expressions)
2022-03-16 20:49:26 +00:00
Tobie Morgan Hitchcock
60c05ee082
Use hexadecimal u8 values when altering datastore keys
2022-03-16 17:01:25 +00:00
Tobie Morgan Hitchcock
336b2b92fc
Fix failing build
2022-03-16 16:27:13 +00:00
Tobie Morgan Hitchcock
1b0477ae29
Ensure numbers are parsed properly
...
This change fixes a bug where `100test` would be parsed as a number, and the parser would subsequently fail. Now the value is only parsed as a number if it is immediately followed by an allowed character - otherwise it will fail, and the value `100test` will be parsed as an ident instead.
2022-03-16 15:50:08 +00:00
Tobie Morgan Hitchcock
f855e721e8
Update 3rd party dependencies
2022-03-16 15:48:01 +00:00
Tobie Morgan Hitchcock
232b35a304
Ensure numbers do not overflow numeric bounds
2022-03-16 15:40:26 +00:00
Tobie Morgan Hitchcock
cdef111786
Use u8 instead of char for datastpre key separators
2022-03-16 15:33:43 +00:00
Tobie Morgan Hitchcock
ba8dd7bd12
Use external storekey library for key encoding
2022-03-16 14:45:55 +00:00
Tobie Morgan Hitchcock
5781352058
Remove unused macros
2022-03-15 08:34:40 +00:00
Tobie Morgan Hitchcock
03af33796a
Fix arithmetic and boolean binary expression order
...
Previously the expression operations happened right-to-left so `1 - 2 - 3 - 4 - 5` was actually calculated as `(1 - (2 - (3 - (4 - (5)))))`. Now the expressions are calculated according to BODMAS, with boolean expressions calculated last.
2022-03-13 00:18:23 +00:00
Tobie Morgan Hitchcock
0f6d700f6b
Implement initial logic for DEFINE statements
2022-03-07 18:15:57 +00:00
Tobie Morgan Hitchcock
2a0d46a2b6
Remove unused macros
2022-03-07 18:14:42 +00:00
Tobie Morgan Hitchcock
64c02896dd
Implement record storing and fetching
2022-03-07 18:11:44 +00:00
Tobie Morgan Hitchcock
438b1d759c
Simplify datastore keys
2022-03-07 18:10:44 +00:00