From: | Andreas Kretschmer <akretschmer(at)spamfence(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Default operator class for data type boolean for access method gist is missing |
Date: | 2014-03-23 08:59:27 |
Message-ID: | 20140323085927.GA9024@tux |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Andreas Joseph Krogh <andreak(at)officenet(dot)no> wrote:
> I'm trying to define the following exclusion-constraint
>
>
> alter table my_table add EXCLUDE USING gist (is_default WITH =, daterange(valid_from, valid_to, '[)') WITH &&) WHERE (is_default = true);
>
>
> But it fails with:
> ERROR: data type boolean has no default operator class for access method
> "gist"
> HINT: You must specify an operator class for the index or define a default
> operator class for the data type.
>
> I have the btree_gist extension installed.
>
> So, my question is; Is there an existing operator-class I can install to make
> this work, and if not - how do I make it?
CAST is to int?
test=# create table xx(b bool, tr tsrange, exclude using gist(b with =, tr with &&));
ERROR: data type boolean has no default operator class for access method "gist"
HINT: You must specify an operator class for the index or define a default operator class for the data type.
Time: 3,160 ms
test=*# create table xx(b bool, tr tsrange, exclude using gist((b::int) with =, tr with &&));
CREATE TABLE
Time: 3,621 ms
Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknown)
Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas Joseph Krogh | 2014-03-23 09:22:03 | Re: Default operator class for data type boolean for access method gist is missing |
Previous Message | Emre Hasegeli | 2014-03-23 07:13:43 | Re: Default operator class for data type boolean for access method gist is missing |