Materialize v0.77
View as Markdownv0.77.0
Sources and sinks
-
Support the
now()function in theCHECKexpression of webhook sources. This allows rejecting requests when a timestamp included in the headers is too far behind Materialize’s clock, which is often recommended by webhook providers to help revent replay attacks.Example
CREATE SOURCE webhook_with_time_based_rejection IN CLUSTER webhook_cluster FROM WEBHOOK BODY FORMAT TEXT CHECK ( WITH (HEADERS) (headers->'timestamp'::text)::timestamp + INTERVAL '30s' >= now() );
SQL
-
Support using timezone abbreviations in contexts where timezone input is accepted.
Example
SELECT timezone_offset('America/New_York', '2023-11-05T06:00:00+00') ---- (EST,-05:00:00,00:00:00) -
Add
mz_internal.mz_materialization_lagto the system catalog. This view describes the difference between the input frontiers and the output frontier for each materialized view, index, and sink in the system. For hydrated dataflows, this lag roughly corresponds to the time it takes for updates at the inputs to be reflected in the output.
Bug fixes and other improvements
-
Breaking change. Fix timezone offset parsing (#22896) and remove support for the
timetype (#22960) in thetimezonefunction and theAT TIME ZONEoperator. These changes follow the PostgreSQL specification. -
Extend
pg_catalogsystem catalog coverage to include thepg_timezone_abbrevsandpg_timezone_namesviews. This is useful to support custom timezone abbreviation logic while timezone support doesn’t land in Materialize. -
Improve the output format of
EXPLAIN...PLAN AS TEXTwhen thehumanized_exprsoutput modifier to avoid ambiguities when multiple columns have the same name.