Обсуждение: index on function

Поиск
Список
Период
Сортировка

index on function

От
You Lun
Дата:
Hi,

I'm doing a course project extending PostgreSQL
somehow. One part of this is using an index on a
function. I thought it's easy to create an function
index initially. But later found that PostgreSQL only
allow functions taking one or more columns. But the
function I need to create index on takes composite
type. Specifically, a relation R, a user-defined
function f, f takes R (the composite type as its
argument), f returns a float. f is defined in C. I
want to create a function index like this:

create index idx on R (f(R))

But it doesn't pass PostgreSQL's grammar.

Any suggestion?



__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com


Re: index on function

От
Tom Lane
Дата:
You Lun <youlun2000@yahoo.com> writes:
> I want to create a function index like this:
> create index idx on R (f(R))
> But it doesn't pass PostgreSQL's grammar.

Right now you have no alternative but to spell out all the columns of R.

There has been talk of fixing this by replacing functional indexes with
indexes over general expressions, but I dunno how soon it will happen.
        regards, tom lane