BUG #14176: Re: BUG #14173: Not using partitions with ANY(ARRAY[...])

From: furstenheim(at)gmail(dot)com
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #14176: Re: BUG #14173: Not using partitions with ANY(ARRAY[...])
Date: 2016-06-03 16:14:58
Message-ID: 20160603161458.9932.4126@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: 14176
Logged by: Gabriel f
Email address: furstenheim(at)gmail(dot)com
PostgreSQL version: 9.5.3
Operating system: Linux 64bit
Description:

This is an answer to
https://www.postgresql.org/message-id/12955.1464963775%40sss.pgh.pa.us

If the type is an integer then I don't have the problem. However if I use
char(2) then I have it.

create table mtable (mvar char (2));
create table c1 (check (mvar = 'aa')) inherits(mtable);
create table c2 (check (mvar = 'bb')) inherits(mtable);
explain select * from mtable where mvar = 'aa';
'Append (cost=0.00..35.50 rows=11 width=12)'
' -> Seq Scan on mtable (cost=0.00..0.00 rows=1 width=12)'
' Filter: (mvar = 'aa'::bpchar)'
' -> Seq Scan on c1 (cost=0.00..35.50 rows=10 width=12)'
' Filter: (mvar = 'aa'::bpchar)'

explain select * from mtable where mvar = any (array['aa']);
'Append (cost=0.00..76.10 rows=21 width=12)'
' -> Seq Scan on mtable (cost=0.00..0.00 rows=1 width=12)'
' Filter: ((mvar)::text = ANY ('{aa}'::text[]))'
' -> Seq Scan on c1 (cost=0.00..38.05 rows=10 width=12)'
' Filter: ((mvar)::text = ANY ('{aa}'::text[]))'
' -> Seq Scan on c2 (cost=0.00..38.05 rows=10 width=12)'
' Filter: ((mvar)::text = ANY ('{aa}'::text[]))'

Curiously if I use char varying(2) then it works as expected

PS sorry I cannot find how to answer directly to the mail

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Francisco Olarte 2016-06-03 16:49:38 Re: BUG #14176: Re: BUG #14173: Not using partitions with ANY(ARRAY[...])
Previous Message Ganesh Kannan 2016-06-03 15:03:55 After upgrade to 9.5 space not being released