You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Improve _bt_first row compare NULL member handling.
Improve _bt_first's handling of NULL row comparison members in such a
way as to make it consistent with _bt_check_rowcompare's approach. In
other words, make sure that code that starts primitive index scans that
involve row compares fully agrees with code that ends primitive index
scans -- even in the presence of a NULL row compare member. This makes
row comparisons more similar to scalar inequality keys, obviating the
need for _bt_set_startikey to consider row comparisons directly.
Follow-up to bugfix commit 5f4d98d, which taught _bt_set_startikey to
avoid the use of forcenonrequired mode iff it reached a row compare key.
Now _bt_set_startikey can treat row comparison keys/inequalities just
like scalar inequalities.
This makes _bt_first avoid uselessly scanning earlier index tuples that
cannot possibly contain matching tuples due to the use of a NULL row
compare member. The goal wasn't to improve performance, but the only
other way to make this approach work is to remove _bt_check_rowcompare's
long standing ability to end the scan when it compares a NULL row
compare member that happens to be the second row compare member (of a
row compare whose first member could be marked required).
0 commit comments