Changes for version 0.029 - 2017-08-16
- Fixed
- We now give better error messages when accidentally trying to insert hashrefs or arrayrefs into a column using the `ysql` `--insert` helper. SQL::Abstract does not allow this and instead gives an untrappable warning (instead of throwing an exception, which is potentially earmarked for SQL::Abstract v2)
- Added
- yq's filter language now allows `$.` to refer to the initial document even if the current document (`.`) is something else. This way one can traverse the document using `|` filters and still get to the original.
- yq's filter language now allows assigning values to filters, so you can modify documents in-place.
- yq's filter language now has an `each()` function to iterate over hashes/arrays
- yq's filter language now allows function calls on either side of binary operators (assignment operator and comparison operators). This means we can filter based on the output of a function (like find all arrays with more than 5 elements) or assign the output of a function to a place in the document (like replace an array with its length).
Documentation
Build YAML from another format (like JSON or CSV)
Build YAML by parsing lines of plain text
Mask a data structure to display only the desired fields
Filter YAML through a command-line program
Query SQL databases in a Yertl workflow
Change YAML to another format (like JSON)
Some recipies for common ETL tasks
A guide to using ysql to work with SQL databases
Prepare a release blog entry for this project
Modules
ETL with a Shell
Read documents from a format like JSON or CSV
Parse lines of text into documents
Filter documents through applying a mask
Filter and construct documents using a mini-language
A Parse::RecDescent-based parser for programs
A Parse::RecDescent-based parser using a parse tree
A regex-based parser for programs
Read and write documents with a SQL database
Write documents to a format like JSON or CSV
CSV read/write support for Yertl
The default format for intra-Yertl communication
JSON read/write support for Yertl
YAML read/write support for Yertl
Utility functions for Yertl modules