New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix pull_varnos miscomputation of relids set #3305
Conversation
Codecov Report
@@ Coverage Diff @@
## master #3305 +/- ##
==========================================
+ Coverage 90.56% 90.57% +0.01%
==========================================
Files 211 211
Lines 35475 35475
==========================================
+ Hits 32127 32131 +4
+ Misses 3348 3344 -4
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Upstream fixed a bug with miscomputation of relids for PlaceHolderVar. Those fixes changed the signature of pull_varnos, make_simple_restrictinfo and make_restrictinfo. The fixes got backported to the PG12 and PG13 branch but to not break compatibility with extensions the old functions were left in. This patch makes our code use the new functions when compiling against a postgres version that has them. postgres/postgres@1cce024fd2 postgres/postgres@73fc2e5bab
**Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
**Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
**Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
**Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
**Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
**Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
**Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
**Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
**Bugfixes** * #3279 Add some more randomness to chunk assignment * #3288 Fix failed update with parallel workers * #3300 Improve trigger handling on distributed hypertables * #3304 Remove paths that reference parent relids for compressed chunks * #3305 Fix pull_varnos miscomputation of relids set * #3310 Generate downgrade script * #3314 Fix heap buffer overflow in hypertable expansion * #3317 Fix heap buffer overflow in remote connection cache. * #3327 Make aggregate in caggs fully qualified * #3327 Make aggregates in caggs fully qualified * #3336 Fix pg_init_privs objsubid handling * #3345 Fix SkipScan distinct column identification * #3355 Fix heap buffer overflow when renaming compressed hypertable columns. * #3367 Improve DecompressChunk qual pushdown * #3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
**Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
**Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
**Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
This maintenance release contains bugfixes since the 2.3.0 release. We deem it moderate priority for upgrading. **Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
This maintenance release contains bugfixes since the 2.3.0 release. We deem it moderate priority for upgrading. **Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
This maintenance release contains bugfixes since the 2.3.0 release. We deem it moderate priority for upgrading. The release introduces the possibility of generating downgrade scripts, improves the trigger handling for distributed hypertables, adds some more randomness to chunk assignment to avoid thundering herd issues in chunk assignment, and fixes some issues in update handling as well as some other bugs. **Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
This maintenance release contains bugfixes since the 2.3.0 release. We deem it moderate priority for upgrading. The release introduces the possibility of generating downgrade scripts, improves the trigger handling for distributed hypertables, adds some more randomness to chunk assignment to avoid thundering herd issues in chunk assignment, and fixes some issues in update handling as well as some other bugs. **Bugfixes** * timescale#3279 Add some more randomness to chunk assignment * timescale#3288 Fix failed update with parallel workers * timescale#3300 Improve trigger handling on distributed hypertables * timescale#3304 Remove paths that reference parent relids for compressed chunks * timescale#3305 Fix pull_varnos miscomputation of relids set * timescale#3310 Generate downgrade script * timescale#3314 Fix heap buffer overflow in hypertable expansion * timescale#3317 Fix heap buffer overflow in remote connection cache. * timescale#3327 Make aggregate in caggs fully qualified * timescale#3327 Make aggregates in caggs fully qualified * timescale#3336 Fix pg_init_privs objsubid handling * timescale#3345 Fix SkipScan distinct column identification * timescale#3355 Fix heap buffer overflow when renaming compressed hypertable columns. * timescale#3367 Improve DecompressChunk qual pushdown * timescale#3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
This maintenance release contains bugfixes since the 2.3.0 release. We deem it moderate priority for upgrading. The release introduces the possibility of generating downgrade scripts, improves the trigger handling for distributed hypertables, adds some more randomness to chunk assignment to avoid thundering herd issues in chunk assignment, and fixes some issues in update handling as well as some other bugs. **Bugfixes** * #3279 Add some more randomness to chunk assignment * #3288 Fix failed update with parallel workers * #3300 Improve trigger handling on distributed hypertables * #3304 Remove paths that reference parent relids for compressed chunks * #3305 Fix pull_varnos miscomputation of relids set * #3310 Generate downgrade script * #3314 Fix heap buffer overflow in hypertable expansion * #3317 Fix heap buffer overflow in remote connection cache. * #3327 Make aggregate in caggs fully qualified * #3327 Make aggregates in caggs fully qualified * #3336 Fix pg_init_privs objsubid handling * #3345 Fix SkipScan distinct column identification * #3355 Fix heap buffer overflow when renaming compressed hypertable columns. * #3367 Improve DecompressChunk qual pushdown * #3377 Fix bad use of repalloc **Thanks** * @db-adrian for reporting an issue when accessing cagg view through postgres_fdw * @fncaldas and @pgwhalen for reporting an issue accessing caggs when public is not in search_path * @fvannee, @mglonnro and @ebreijo for reporting an issue with the upgrade script * @fvannee for reporting a performance regression with SkipScan
Upstream fixed a bug with miscomputation of relids for
PlaceHolderVar. Those fixes changed the signature of pull_varnos,
make_simple_restrictinfo and make_restrictinfo.
The fixes got backported to the PG12 and PG13 branch but to not
break compatibility with extensions the old functions were left in.
This patch makes our code use the new functions when compiling
against a postgres version that has them.
postgres/postgres@1cce024fd2
postgres/postgres@73fc2e5bab