From: | mlw <markw(at)mohawksoft(dot)com> |
---|---|
To: | Zeugswetter Andreas SB <ZeugswetterA(at)wien(dot)spardat(dot)at> |
Cc: | Hackers List <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: AW: Three types of functions, ala function redux. |
Date: | 2000-12-21 12:27:56 |
Message-ID: | 3A41F74C.A94890B1@mohawksoft.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Zeugswetter Andreas SB wrote:
>
> > select * from table where col = function() ;
>
> > (2) "function()" returns a number of values that are independent of the
> > query. Postgres should be able to optimize this to be: "select * from
> > table where col in (val1, val2, val3, ..valn)." I guess Postgres can
> > loop until done, using the isDone flag?
>
> I think the above needs a different sql statement to begin with.
> The "= function()" clearly states that function is only allowed to return one row.
>
> The following syntax currently works, and is imho sufficient:
> select * from table where col in (select function());
Both syntaxes work, but always force a table scan. If you have an index
on 'col' it will not be used. If your table has millions of records,
this takes time.
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Lockhart | 2000-12-21 14:54:10 | Re: AW: [HACKERS] PostgreSQL pre-7.1 Linux/Alpha Status... |
Previous Message | Larry Rosenman | 2000-12-21 11:58:58 | Re: CIDR output format |