Module mz_transform::notice

source ·
Expand description

Notices that the optimizer wants to show to users.

The top-level notice types are RawOptimizerNotice (for notices emitted by optimizer pipelines) and OptimizerNotice (for notices stored in the catalog memory). The adapter module contains code for converting the former to the latter.

The RawOptimizerNotice type is an enum generated by the raw_optimizer_notices macro. Each notice type lives in its own submodule and implements the OptimizerNoticeApi trait.

To add a new notice do the following:

  1. Create a new submodule.
  2. Define a struct for the new notice in that submodule.
  3. Implement OptimizerNoticeApi for that struct.
  4. Re-export the notice type in this module.
  5. Add the notice type to the raw_optimizer_notices macro which generates the RawOptimizerNotice enum and other boilerplate code.

Structs§

Enums§

Traits§