Hi everybody,
I'm sorry if this topic has already been explained, but the search
engine at archives.postgresql.org shows me 10 pages of results but
without any link (!).
I'm using postgres 7.1.3 on Solaris 8; I would like to do some query of
this form

SELECT * FROM table WHERE (attribute1,attribute2) IN
((value1_0,value2_0),(value1_1,value2_1) ...)

(which is legal on oracle 8i on solaris 8).
I know this has an equivalent boolean expression but:
-I would like to use an index defined like
 CREATE INDEX myindex ON table(attribute1,attribute2)
-the pairs in the list can be many (up to 100)

Postgres supports queries of the form

SELECT * FROM table WHERE (attribute1,attribute2) IN (subselect)

and

SELECT * FROM table WHERE (attribute1,attribute2) = (value1,value2)

(which strangely is not supported on oracle!).
So I could use the former with a temp table *but* while the latter,
according to EXPLAIN, uses the index the former doesn't. Why?
Thanks in advance for any help,
        Marco

-- 
Marco Vezzoli      tel. +39 039 603 6852
STMicroelectronics fax. +39 039 603 5055

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Reply via email to