Re: Materializing a sequential scan - Mailing list pgsql-performance

From Tom Lane
Subject Re: Materializing a sequential scan
Date
Msg-id 12708.1130370782@sss.pgh.pa.us
Whole thread Raw
In response to Re: Materializing a sequential scan  ("Steinar H. Gunderson" <sgunderson@bigfoot.com>)
Responses Re: Materializing a sequential scan  ("Steinar H. Gunderson" <sgunderson@bigfoot.com>)
List pgsql-performance
"Steinar H. Gunderson" <sgunderson@bigfoot.com> writes:
> On Wed, Oct 26, 2005 at 07:06:15PM -0400, Tom Lane wrote:
>> AFAICS, subplan_is_hashable() is testing the same conditions in 7.4 and
>> HEAD, so this isn't clear.  Want to step through it and see where it's
>> deciding not to hash?

> (gdb) print opid
> $3 = 2373

I don't think you're getting a correct reading for optup, but OID
2373 is timestamp = date:

regression=# select * from pg_operator where oid = 2373;
 oprname | oprnamespace | oprowner | oprkind | oprcanhash | oprleft | oprright | oprresult | oprcom | oprnegate |
oprlsortop| oprrsortop | oprltcmpop | oprgtcmpop |      oprcode      | oprrest |  oprjoin 

---------+--------------+----------+---------+------------+---------+----------+-----------+--------+-----------+------------+------------+------------+------------+-------------------+---------+-----------
 =       |           11 |       10 | b       | f          |    1114 |     1082 |        16 |   2347 |      2376 |
2062|       1095 |       2371 |       2375 | timestamp_eq_date | eqsel   | eqjoinsel 
(1 row)

which is marked not hashable, quite correctly since the input datatypes
aren't even the same.

My recollection is that there was no such operator in 7.4; probably in
7.4 the IN ended up using timestamp = timestamp which is hashable.

What's not clear though is why you're getting that operator --- aren't
both sides of the IN of type "date"?

            regards, tom lane

pgsql-performance by date:

Previous
From: Sidar López Cruz
Date:
Subject: performance on query
Next
From: "Steinar H. Gunderson"
Date:
Subject: Re: Materializing a sequential scan