Changelog
Copy Markdown0.1.4
- Align
installanduninstallarguments. - Add optional source discriminator
source_nametoSublimate.ProjectionData's config. This enables multiple configs against one destination to have distinct distinct trigger and function names. - Add functions
Sublimate.create_shared_infrastructure/4andSublimate.install_triggers/3as composable building blocks for installing multiple projections against one shared destination table (advanced use).Sublimate.install/2composes them and is unchanged for single-projection use. Note that a working multi-projection setup also requires the strategy to distinguish rows per source (e.g. via a discriminator column); these functions provide the installation primitives, not a complete multi-source solution. - Add function
Sublimate.uninstall_all/2that removes the installed infrastructures from a list ofSublimate.ProjectionDatastructs. - Add
Sublimate.TestHelpers.uninstall_all_artifacts/1for cleaning up triggers, functions, and deltas tables Sublimate created during tests.
0.1.3
Improve identity column type validation.
0.1.2
Prevent "identifier too long" errors when trigger names (derived from destination table and joined table, plus suffixes) exceed the PostreSQL identifier limit. The changed initialisation limits the trigger name length using a deterministic hash.
0.1.1
Republished because of a checksum mismatch.
0.1.0
Refine's ➚ trigger logic is split into this standalone helper library. Sublimate owns incremental maintenance (deltas, triggers, merge scaffolding); Refine implements the behaviour to project into facet bitmaps.