From: | Zoltan Boszormenyi <zb(at)cybertec(dot)at> |
---|---|
To: | Pau Marc Munoz Torres <paumarc(at)gmail(dot)com> |
Cc: | PgSQL General ML <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: select using an index |
Date: | 2007-11-27 11:31:38 |
Message-ID: | 474C001A.3020203@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Pau Marc Munoz Torres írta:
> Hi
>
> Recently i created an index in a table using a function (not a
> column) as following
>
> create index H2IAb on precalc (idr(p1,p4,p6,p7,p9,'H-2*IAb'));,
>
> where idr is a function that returns a real number,
>
> as a result i got the following table
>
> mhc2db=> \d precalc;
> Table "public.precalc"
> Column | Type | Modifiers
> -------------+-------------------+------------------------------------------------------
>
> id | integer | not null default
> nextval('precalc_id_seq'::regclass)
> p1 | character(1) |
> p4 | character(1) |
> p6 | character(1) |
> p7 | character(1) |
> p9 | character(1) |
> Indexes:
> "h2iab" btree (idr(p1, p4, p6, p7, p9, 'H-2*IAb'::character varying)),
>
> now, i would like to perform a query using this index, something like
>
>
> Select * from precalc where h2iab>2
>
> but obviously h2iab is not a column...
>
> some of you knows what i should do?
>
> thanks
Formulate your WHERE clause so it matches
your index's expression. E.g.
SELECT * FROM precalc WHERE
idr(p1, p4, p6, p7, p9, 'H-2*IAb'::character varying) > 2;
Best regards,
Zoltán Böszörményi
--
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
http://www.postgresql.at/
From | Date | Subject | |
---|---|---|---|
Next Message | claudia.amorim | 2007-11-27 12:13:01 | "Invalid Pointer Operation" while reading tuples |
Previous Message | Pau Marc Munoz Torres | 2007-11-27 11:17:56 | select using an index |