This is a significant release, with support for "struct" types.
Added
- The portable schema now supports a
DataType::Struct(fields)
type that can be used to represent BigQuery STRUCT values (as long as they have unique, named fields) and JSON objects with known keys. - The BigQuery driver now supports importing and exporting
STRUCT
fields using the newDataType::Struct(fields)
type. - EXPERIMENTAL: Schemas can now be specified using the
dbcrossbar-ts
driver, which supports subset of TypeScript type declarations. This is useful for specifying complex, nested structs. This can be used as--schema="dbcrossbar-ts:shopify.ts#Order"
, whereOrder
is the name of the type within the*.ts
file to use as the table's type. - EXPERIMENTAL: We now support a Shopify input driver that uses the Shopify REST API. See the manual for details.
- We now have support for fancy parser error messages, which we use with the
dbcrossbar-ts
parser. - We now support a CLI-editable config file using commands like
dbcrossbar config add temporary s3://example/temp/
.
Changed
- BREAKING: Some corner cases involving struct types and JSON may have changed subtly.
- We've upgraded to the latest
rust-peg
parser syntax everywhere.
Fixed
--if-exists=overwrite
now overwrites when writing to local files (instead of appending).- We automatically create
~/.local/share
if it does not exist. - More
clippy
warnings have been fixed, and unsafe code has been forbidden. - Various obsolete casting libraries have been removed.