Hi, Attached is an updated patch series, merging fixes and changes to TAP tests proposed by Alexey. I've merged the fixes into the appropriate patches, and I've kept the TAP changes / new tests as separate patches towards the end of the series.
I'm a bit unhappy with two aspects of the current patch series: 1) We now track schema changes in two ways - using the pre-existing schema_sent flag in RelationSyncEntry, and the (newly added) flag in ReorderBuffer. While those options are used for regular vs. streamed transactions, fundamentally it's the same thing and so having two competing ways seems like a bad idea. Not sure what's the best way to resolve this, though. 2) We've removed quite a few asserts, particularly ensuring sanity of cmin/cmax values. To some extent that's expected, because by allowing decoding of in-progress transactions relaxes some of those rules. But I'd be much happier if some of those asserts could be reinstated, even if only in a weaker form. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
0001-Add-logical_work_mem-to-limit-ReorderBuffer-20190114.patch.gz
Description: application/gzip
0002-Immediately-WAL-log-assignments-20190114.patch.gz
Description: application/gzip
0003-Issue-individual-invalidations-with-wal_lev-20190114.patch.gz
Description: application/gzip
0004-Extend-the-output-plugin-API-with-stream-me-20190114.patch.gz
Description: application/gzip
0005-Implement-streaming-mode-in-ReorderBuffer-20190114.patch.gz
Description: application/gzip
0006-Add-support-for-streaming-to-built-in-repli-20190114.patch.gz
Description: application/gzip
0007-Track-statistics-for-streaming-spilling-20190114.patch.gz
Description: application/gzip
0008-Enable-streaming-for-all-subscription-TAP-t-20190114.patch.gz
Description: application/gzip
0009-BUGFIX-set-final_lsn-for-subxacts-before-cl-20190114.patch.gz
Description: application/gzip
0010-Add-TAP-test-for-streaming-vs.-DDL-20190114.patch.gz
Description: application/gzip