mirror of
https://github.com/zebrajr/postgres.git
synced 2025-12-07 12:20:31 +01:00
Fix still another bug in commit 35fcb1b3d: it failed to fully initialize the SortSupport states it introduced to allow the executor to re-check ORDER BY expressions containing distance operators. That led to a null pointer dereference if the sortsupport code tried to use ssup_cxt. The problem only manifests in narrow cases, explaining the lack of previous field reports. It requires a GiST-indexable distance operator that lacks SortSupport and is on a pass-by-ref data type, which among core+contrib seems to be only btree_gist's interval opclass; and it requires the scan to be done as an IndexScan not an IndexOnlyScan, which explains how btree_gist's regression test didn't catch it. Per bug #14134 from Jihyun Yu. Peter Geoghegan Report: <20160511154904.2603.43889@wrigleys.postgresql.org> |
||
|---|---|---|
| .. | ||
| data | ||
| expected | ||
| sql | ||
| .gitignore | ||
| btree_bit.c | ||
| btree_bytea.c | ||
| btree_cash.c | ||
| btree_date.c | ||
| btree_float4.c | ||
| btree_float8.c | ||
| btree_gist--1.1.sql | ||
| btree_gist--1.0--1.1.sql | ||
| btree_gist--unpackaged--1.0.sql | ||
| btree_gist.c | ||
| btree_gist.control | ||
| btree_gist.h | ||
| btree_inet.c | ||
| btree_int2.c | ||
| btree_int4.c | ||
| btree_int8.c | ||
| btree_interval.c | ||
| btree_macaddr.c | ||
| btree_numeric.c | ||
| btree_oid.c | ||
| btree_text.c | ||
| btree_time.c | ||
| btree_ts.c | ||
| btree_utils_num.c | ||
| btree_utils_num.h | ||
| btree_utils_var.c | ||
| btree_utils_var.h | ||
| Makefile | ||