- Added the between operator to query expressions.
- Added the using query expression suffix to specify which index to query (or force a scan). This is required if query planning has found multiple indices that can potentially be used.
- Rewrote the types of the query expressions to allow for functions to be defined once, and be useful in queries that result in DynamoDB queries, and evaluation.
- Added some test functions around time and summing numbers.
- Fixed a bug in the del-attr which was not honouring marked rows in a similar way to set-attr: it was only deleting attributes from the first row.
- Added the -to type flag to set-attr which will set the attribute to the value of a query expression.
These are the `thing[subref]` construct. Subrefs can either be a string or an integer.
At the moment, multiple sub references, such as `thing[1][2][3]` doesn't work. This is because the SDK does not properly handle this when creating the actual expression.
* scripting: added service and controller for scripting
* scripting: have got prompts working
Scripts are now running in a separate go-routine. When a prompt is encountered, the
script is paused and the user is prompted for input. This means that the script no
longer needs to worry about synchronisation issues.
* scripting: started working on the session methods
* scripting: added methods to get items and attributes
* scripting: have got loading of scripts working
These act more like plugins and allow defining new commands.
* scripting: have got script scheduling working
Scripts are now executed on a dedicated goroutine and only one script can run at any one time.
* scripting: added session.set_result_set(rs)
* scripting: upgraded tamarin to 0.14
* scripting: started working on set_value
* tamarin: replaced ad-hoc path with query expressions
* scripting: changed value() and set_value() to attr() and set_attr()
Also added 'delete_attr()'
* scripting: added os.exec()
This method is controlled by permissions which govern whether shellouts are allowed
Also fixed a resizing bug with the status window which was not properly handling status messages with newlines
* scripting: added the session.current_item() method
* scripting: added placeholders to query expressions
* scripting: added support for setting and deleteing items with placeholders
Also refactored the dot AST type so that it support placeholders. Placeholders are not yet supported
for subrefs yet, they need to be identifiers.
* scripting: made setting the result-set push the current result-set to the backstack
* scripting: started working on byte encoding of attribute values
* scripting: finished attrcodec
* scripting: integrated codec into expression
* scripting: added equals and hashcode to queryexpr
This finally finishes the work required to store queries in the backstack
* scripting: fixed some bugs with the back-stack
* scripting: upgraded Tamarin
* scripting: removed some commented out code