Main feature in this release is added support for logging PG notices and improved support for logging PG errors - including additional metadata. Thanks to @arshadkazmi42 for working with me on this! Examples:
ERROR[ERR12]: Error Message Here! | WHERE: PL/pgSQL function a.generate_error(text) line 1 at RAISE | HINT: Help!
NOTICE[NOT23]: This is a notice. | WHERE: PL/pgSQL function a.generate_notice(text) line 1 at RAISE | HINT: Help!
To enable this, make sure you are using the debug envvars: export DEBUG="postgraphile:postgres:error,postgraphile:postgres:notice"; postgraphile ...
Also in this release is a tiny patch enabling plugin authors to reference the "parent" query builder from "child" query builders. This, for example, allows them to check a column from a parent record to decide which children to include. This is necessary for the @graphile-contrib/pg-omit-archived soft deletion plugin's INHERIT
option.
This release also introduces another helper to graphile-utils
: makePluginByCombiningPlugins
- enabling you to bundle multiple plugins into one (particularly useful for combining makeAddInflectorsPlugin
and makeExtendSchemaPlugin
plugins with raw Graphile Engine plugins).
Finally it makes the terminology used more consistent - "Graphile Engine schema plugins" and "PostGraphile server plugins".