Re: Index INCLUDE vs. Bitmap Index Scan

2019-02-28 Thread Tom Lane
I wrote: > Tomas Vondra writes: >> I do recall a discussion about executing expressions on index tuples >> during IOS (before/without inspecting the heap tuple). I'm too lazy to >> search for the thread now, but I recall it was somehow related to >> leak-proof-ness. And AFAICS none of the "div" pr

Re: Index INCLUDE vs. Bitmap Index Scan

2019-02-27 Thread Tom Lane
Tomas Vondra writes: > On 2/27/19 6:36 AM, Markus Winand wrote: > On 27.02.2019, at 00:22, Tom Lane wrote: >>> For example, given a filter condition like "1.0/c > 0.1", people >>> would complain if it still got zero-divide failures even after they'd >>> deleted all rows with c=0 from their table.

Re: Index INCLUDE vs. Bitmap Index Scan

2019-02-27 Thread Tomas Vondra
On 2/27/19 6:36 AM, Markus Winand wrote: > > >> On 27.02.2019, at 00:22, Tom Lane wrote: >> >> Markus Winand writes: >>> I think Bitmap Index Scan should take advantage of B-tree INCLUDE columns, >>> which it doesn’t at the moment (tested on master as of yesterday). >> >> Regular index scans

Re: Index INCLUDE vs. Bitmap Index Scan

2019-02-27 Thread Tom Lane
Markus Winand writes: >> On 27.02.2019, at 02:00, Justin Pryzby wrote: >> On Tue, Feb 26, 2019 at 09:07:01PM +0100, Markus Winand wrote: >>> (As a side node: I also dislike it how Bitmap Index Scan mixes search >>> conditions and filters in “Index Cond”) >> I don't think it's mixing them; it's

Re: Index INCLUDE vs. Bitmap Index Scan

2019-02-26 Thread Markus Winand
> On 27.02.2019, at 02:00, Justin Pryzby wrote: > > On Tue, Feb 26, 2019 at 09:07:01PM +0100, Markus Winand wrote: >> CREATE INDEX idx ON tbl (a, b, c); >> Bitmap Heap Scan on tbl (cost=4.14..8.16 rows=1 width=7616) (actual >> time=0.021..0.021 rows=1 loops=1) >> Recheck Cond: ((a = 1) AND

Re: Index INCLUDE vs. Bitmap Index Scan

2019-02-26 Thread Markus Winand
> On 27.02.2019, at 00:22, Tom Lane wrote: > > Markus Winand writes: >> I think Bitmap Index Scan should take advantage of B-tree INCLUDE columns, >> which it doesn’t at the moment (tested on master as of yesterday). > > Regular index scans don't do what you're imagining either (i.e., check

Re: Index INCLUDE vs. Bitmap Index Scan

2019-02-26 Thread Justin Pryzby
On Tue, Feb 26, 2019 at 09:07:01PM +0100, Markus Winand wrote: > CREATE INDEX idx ON tbl (a, b, c); > Bitmap Heap Scan on tbl (cost=4.14..8.16 rows=1 width=7616) (actual > time=0.021..0.021 rows=1 loops=1) >Recheck Cond: ((a = 1) AND (c = 1)) >-> Bitmap Index Scan on idx (cost=0.00..4.

Re: Index INCLUDE vs. Bitmap Index Scan

2019-02-26 Thread Andres Freund
Hi, On 2019-02-26 18:22:41 -0500, Tom Lane wrote: > Markus Winand writes: > > I think Bitmap Index Scan should take advantage of B-tree INCLUDE columns, > > which it doesn’t at the moment (tested on master as of yesterday). > > Regular index scans don't do what you're imagining either (i.e., ch

Re: Index INCLUDE vs. Bitmap Index Scan

2019-02-26 Thread Tom Lane
Markus Winand writes: > I think Bitmap Index Scan should take advantage of B-tree INCLUDE columns, > which it doesn’t at the moment (tested on master as of yesterday). Regular index scans don't do what you're imagining either (i.e., check filter conditions in advance of visiting the heap). Ther