BUG #14532: implict type case invalid in gin?

From: digoal(at)126(dot)com
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #14532: implict type case invalid in gin?
Date: 2017-02-07 15:04:20
Message-ID: 20170207150420.1409.58748@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 14532
Logged by: Zhou Digoal
Email address: digoal(at)126(dot)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)
```

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message gustavfc.freitas 2017-02-07 15:05:54 BUG #14533: PgAdmin 4 v1 crash
Previous Message naveenallin 2017-02-07 13:56:35 BUG #14531: server process (PID 12714) was terminated by signal 11: Segmentation fault