> On Wed, Nov 21, 2018 at 4:38 PM Alexander Kuzmenkov > <a.kuzmen...@postgrespro.ru> wrote: > > On 11/18/18 02:27, Dmitry Dolgov wrote: > > > > [0001-Index-skip-scan-v4.patch] > > I ran a couple of tests on this, please see the cases below. As before, > I'm setting total_cost = 1 for index skip scan so that it is chosen. > Case 1 breaks because we determine the high key incorrectly, it is the > second tuple on page or something like that, not the last tuple.
>From what I see it wasn't about the high key, just a regular off by one error. But anyway, thanks for noticing - for some reason it wasn't always reproduceable for me, so I missed this issue. Please find fixed patch attached. Also I think it invalidates my previous performance tests, so I would appreciate if you can check it out too. > Case 2 > is backwards scan, I don't understand how it is supposed to work. We > call _bt_search(nextKey = ScanDirectionIsForward), so it seems that it > just fetches the previous tuple like the regular scan does. Well, no, it's callled with ScanDirectionIsForward(dir). But as far as I remember from the previous discussions the entire topic of backward scan is questionable for this patch, so I'll try to invest some time in it.
0001-Index-skip-scan-v5.patch
Description: Binary data