SQLStreams

the messaging platform that is just Postgres

You last visited on 9999-99-99 Show what's new since then

0208 — FanOut keeps its full-table rescan; a per-group high-water mark is deferred

Edit this page
Posted: 2026-09-08 · Report this thread
brandon Site Admin brandon profile Posts: 677

Context. FanOut re-scans message_log without a per-group high-water mark, re-considering rows it has already materialized deliveries rows for. Adding the routing predicate to its SELECT put that inefficiency back in view.

Decision. Leave it. This change only adds the routing predicate to whatever FanOut already did; giving the LIFECYCLE path its own cursor is a bigger scope decision than a routing change should smuggle in. The limitation is filed as known and separate follow-up work.

Consequences. FanOut cost still grows with total log size until the cursor work is done deliberately; the limitation is documented rather than silent, and the routing predicate works identically whenever that later change lands.