On Sun, Jun 28, 2015 at 10:31 PM, Shujie Shang <sshang@xxxxxxxxxx> wrote:
Oh, I didn't explain my question well, actually I want to create an index on an udt in a table.e.g.create type info as (id int, name text);creat table test (i info);I want to run:create index myindex on test (i.id)
It is a matter of finding the correct level of magic parentheses.
create index on test (((i).id));
The outer layer are always needed for creating indexes. The middle layer are needed because you are indexing an _expression_, not a column. And the inner layer is needed because, well, that is just how udt works.
Cheers,
Jeff