mirror of https://github.com/postgres/postgres
Some recent changes were made to remove the explicit dependency on btree indexes in some parts of the code. One of these changes was made in commitREL_18_STABLE9ef1851685, which allows non-btree indexes to be used in get_actual_variable_range(). A follow-up commitee1ae8b99ffixes the cases where an index doesn’t have a sortopfamily as this is a prerequisite to be used in get_actual_variable_range(). However, it was found that indexes that have amcanorder = true but do not allow index-only-scans (amcanreturn returns false or is NULL) will pass all of the conditions, while they should be rejected since get_actual_variable_range() uses the index-only-scan machinery in get_actual_variable_endpoint(). Such an index might cause errors like ERROR: no data returned for index-only scan during query planning. The fix is to add a check in get_actual_variable_range() to reject indexes that do not allow index-only scans. Author: Maxime Schoemans <maxime.schoemans@enterprisedb.com> Discussion: https://www.postgresql.org/message-id/flat/20ED852A-C2D9-41EB-8671-8C8B9D418BE9%40enterprisedb.com
parent
b45a8d7d8b
commit
74197bdc84
Loading…
Reference in new issue