[BUGS] BUG #14532: implict type case invalid in gin? - Mailing list pgsql-bugs

From digoal@126.com
Subject [BUGS] BUG #14532: implict type case invalid in gin?
Date
Msg-id 20170207150420.1409.58748@wrigleys.postgresql.org
Whole thread Raw
Responses Re: [BUGS] BUG #14532: implict type case invalid in gin?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      14532
Logged by:          Zhou Digoal
Email address:      digoal@126.com
PostgreSQL version: 9.6.1
Operating system:   CentOS 6.x x64
Description:

```
postgres=# create table tbl(id int, t timestamp);
CREATE TABLE
postgres=# insert into tbl select 1,now() from generate_series(1,10000);
INSERT 0 10000
postgres=# create index idx_tbl_1 on tbl using gin (id,t);
CREATE INDEX
postgres=# explain select * from tbl where t>current_date;
                        QUERY PLAN                        
----------------------------------------------------------
 Seq Scan on tbl  (cost=0.00..230.00 rows=10000 width=12)
   Filter: (t > ('now'::cstring)::date)
(2 rows)

postgres=# set enable_seqscan=off;
SET
postgres=# explain select * from tbl where t>current_date;
                                 QUERY PLAN

----------------------------------------------------------------------------
 Seq Scan on tbl  (cost=10000000000.00..10000000230.00 rows=10000
width=12)
   Filter: (t > ('now'::cstring)::date)
(2 rows)

postgres=# create index idx_tbl_2 on tbl using btree(t);
CREATE INDEX
postgres=# explain select * from tbl where t>current_date;
                                 QUERY PLAN

----------------------------------------------------------------------------
 Index Scan using idx_tbl_2 on tbl  (cost=0.29..269.59 rows=10000
width=12)
   Index Cond: (t > ('now'::cstring)::date)
(2 rows)

postgres=# drop index idx_tbl_2;
DROP INDEX
postgres=# set enable_seqscan=on;
SET
postgres=# explain select * from tbl where t>(current_date)::timestamp;
                              QUERY PLAN                               
-----------------------------------------------------------------------
 Seq Scan on tbl  (cost=0.00..255.00 rows=10000 width=12)
   Filter: (t > (('now'::cstring)::date)::timestamp without time zone)
(2 rows)

postgres=# set enable_seqscan=off;
SET
postgres=# explain select * from tbl where t>(current_date)::timestamp;
                                   QUERY PLAN
    
---------------------------------------------------------------------------------
 Bitmap Heap Scan on tbl  (cost=93.11..348.11 rows=10000 width=12)
   Recheck Cond: (t > (('now'::cstring)::date)::timestamp without time
zone)
   ->  Bitmap Index Scan on idx_tbl_1  (cost=0.00..90.61 rows=10000
width=0)
         Index Cond: (t > (('now'::cstring)::date)::timestamp without time
zone)
(4 rows)
```


--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

pgsql-bugs by date:

Previous
From: naveenallin@gmail.com
Date:
Subject: [BUGS] BUG #14531: server process (PID 12714) was terminated by signal 11:Segmentation fault
Next
From: gustavfc.freitas@gmail.com
Date:
Subject: [BUGS] BUG #14533: PgAdmin 4 v1 crash