From: | Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> |
---|---|
To: | Mathieu De Zutter <mathieu(at)dezutter(dot)org> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Constraint exclusion issue |
Date: | 2010-01-16 18:26:02 |
Message-ID: | dcc563d11001161026m6af34db4h3de3f9e60f62129e@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Sat, Jan 16, 2010 at 11:02 AM, Mathieu De Zutter
<mathieu(at)dezutter(dot)org> wrote:
> Hi,
>
> I'm trying to make constraint exclusion work correctly in a query with
> only one parameter, but I have some issues.
> Please have a look at the scenario below and tell me how I can improve it.
>
> Thanks!
>
>
> -- I create an inheritance relationship with a check constraint in the child
>
> shs-dev=# create table parent (c char, n integer);
> CREATE TABLE
> shs-dev=# create table child1 ( ) inherits (parent);
> CREATE TABLE
> shs-dev=# alter table child1 add check (c = 'a');
> ALTER TABLE
>
> -- I query on a row containing both attributes, and pgsql 8.4
> correctly skips the child table because of the constraint
>
> shs-dev=# explain select * from parent where (c,n) = ('b',0);
> QUERY PLAN
> --------------------------------------------------------------------------------------------------------------
> Result (cost=0.00..39.10 rows=1 width=12)
> -> Append (cost=0.00..39.10 rows=1 width=12)
> -> Seq Scan on parent (cost=0.00..39.10 rows=1 width=12)
> Filter: ((c = 'b'::bpchar) AND (n = 0))
>
> -- Ok, lets see if I can parameterize this with only one parameter... NO!
>
> shs-dev=# explain select * from parent where (c,n) = '("b",0)';
> ERROR: input of anonymous composite types is not implemented
Shouldn't that be 'b' not "b" ?
From | Date | Subject | |
---|---|---|---|
Next Message | Raymond O'Donnell | 2010-01-16 18:59:57 | Re: SELECT is causing a runtime error when used in stored functions: State=42601, Err=7, Msg=ERROR: query has no destination for result data; |
Previous Message | Mathieu De Zutter | 2010-01-16 18:02:30 | Constraint exclusion issue |