Package-level declarations
Types
One wow_catalog row: what the Wow Sink says of database's table (whose uuid it read as tableUuid and whose columns it expects to hash to columnsHash), and the account that wrote it (writer, the server's currentUser(), which no insert can set).
The trust rules of wow_catalog: a row is adopted only when every rule holds:
Answers whether the catalog knows an aggregate, which an analyst's column may refer to ((b)): one a Wow source of the catalog is of. The service binds it to the catalog's own snapshot query.
Which warehouse accounts the catalog trusts to describe the tables of which contexts (wow.analytics.catalog.trusted-writers): the account the Wow Sink of those contexts inserts as. The service binds it from its configuration.
The warehouse's metadata, the base of the data-source catalog: the tables and views of the configured databases (databases) of one warehouse connection, each a source identified by (connection, database, table), and the wow_catalog rows the Wow Sink appended of them. 10.0 has the ClickHouse implementation (system.tables, system.columns, <database>.wow_catalog); the service binds it.
database's table name as the warehouse has it now: its uuid, its tableEngine and its columns, in order.
A table or view of the warehouse as its list says: its name, uuid, tableEngine (the kind of table, as the warehouse names it), when its metadata last changed (modifiedAt) and a fingerprint of its columns (columns: their positions, names and types), both opaque text compared for change only. The fingerprint tells a change the time cannot, such as an ALTER in the same second as the last look.