Re: partition text/varchar check problem -- solved

From: jamcito <jamcito(at)poczta(dot)fm>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: partition text/varchar check problem -- solved
Date: 2006-12-16 18:19:37
Message-ID: 458438B9.5050103@poczta.fm
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Tom Lane wrote:
>> CREATE TABLE data_a (CHECK (name LIKE varchar 'a%')
>> ) INHERITS (data);
>> --
>> CREATE TABLE data_b (CHECK (name LIKE varchar 'b%')
>> ) INHERITS (data);
>
> That's not going to work because the planner is unable to prove anything
> about the behavior of LIKE --- there is nothing in the system that
> offers a relationship between the = operator and the LIKE operator.
> You'll need something like
>
> CHECK (name >= 'a' AND name < 'b')
> CHECK (name >= 'b' AND name < 'c')
>
> etc. (These work for a query like "WHERE name = 'foo'" because
> the >= < and = operators are all members of the same btree opclass,
> so the planner knows how to reason about them.)
>
> regards, tom lane

Thank you, it works!

Cheers,
jamcito

----------------------------------------------------------------------
Jestes kierowca? To poczytaj! >>> http://link.interia.pl/f199e

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Ireneusz Pluta 2006-12-16 20:16:13 Re: partition text/varchar check problem
Previous Message tsuraan 2006-12-16 18:03:38 Re: Scaling concerns