aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2019-02-10 22:51:33 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2019-02-10 22:51:33 -0500
commiteb68d71f99e945c89bbb1190086237be65ad784c (patch)
tree7d69654f0a12419d96b2c1be232d3fa5bcae498c /src/backend/access/gist
parent2eebda274fa97e5fee6a6001a07eed079e5be69f (diff)
downloadpostgresql-eb68d71f99e945c89bbb1190086237be65ad784c.tar.gz
postgresql-eb68d71f99e945c89bbb1190086237be65ad784c.zip
Fix indexable-row-comparison logic to account for covering indexes.
indxpath.c needs a good deal more attention for covering indexes than it's gotten. But so far as I can tell, the only really awful breakage is in expand_indexqual_rowcompare (nee adjust_rowcompare_for_index), which was only half fixed in c266ed31a. The other problems aren't bad enough to take the risk of a just-before-wrap fix. The problem here is that if the leading column of a row comparison matches an index (allowing this code to be reached), and some later column doesn't match the index, it'll nonetheless believe that that column matches the first included index column. Typically that'll lead to an error like "operator M is not a member of opfamily N" as a result of fetching a garbage opfamily OID. But with enough bad luck, maybe a broken plan would be generated. Discussion: https://postgr.es/m/25526.1549847928@sss.pgh.pa.us
Diffstat (limited to 'src/backend/access/gist')
0 files changed, 0 insertions, 0 deletions