IVM Development Group is pleased to announce the release of [pg_ivm 1.10]( https://github.com/sraoss/pg_ivm/releases/tag/v1.10 ).
Changes since the v1.9 release include: ### Bug Fixes * Fix a failure in DROP EXTENSION (Ishant Bhaskar ) Previously, dropping pg_ivm caused the error "could not open relation with OID ..." due to a hook function that allows DROP TABLE on an IMMV to remove its entry from pg_ivm_immv. Additionally, issuing DROP TABLE concurrently with DROP EXTENSION pg_ivm could result in the same error. * Prevent automatic index creation when using set-returning function (Yugo Nagata) A unique index was previously created automatically even when a set-returning function appeared in the FROM clause, which led to errors due to key duplication. * Change schema from pg_catalog to pgivm (Yugo Nagata) Previously, pg_upgrade failed due to permission issues because the pg_ivm_immv catalog was created in pg_catalog. To resolve this, all objects created by pg_ivm have been moved to the pgivm schema, which is now created automatically by pg_ivm. Breaking Change: This affects compatibility with previous releases. If you want to access objects like the create_immv function as before, you must either qualify them with the pgivm schema or adjust your search_path accordingly. * Fixed view maintenance failures when a column is dropped from a table (Yugo Nagata) When a table contained a dropped column, incremental view maintenance failed with an error like: ```ERROR: could not find attribute 43 in subquery targetlist``` * Fix potential view inconsistency issues (Yugo Nagata) Previously, the view contents could become inconsistent with the base tables in the following scenarios: 1) A concurrent transaction modifies a base table and commits before the incremental view maintenance starts in the current transaction. 2) A concurrent transaction modifies a base table and commits before the create_immv or refresh_immv command generates data. 3) Concurrent transactions incrementally update a view with a self-join or modify multiple base tables simultaneously. These issues have now been resolved to ensure consistency. ### About pg_ivm pg_ivm is an extension module that provides Incremental View Maintenance (IVM) feature. Incremental View Maintenance (IVM) is a way to make materialized views up-to-date in which only incremental changes are computed and applied on views rather than recomputing. pg_ivm provides a kind of immediate maintenance, in which materialized views are updated immediately after a base table is modified. Source repository: [https://github.com/sraoss/pg_ivm](https://github.com/sraoss/pg_ivm)