| 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: | Whole Thread | Raw Message | 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
| 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 |