| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | elein <elein(at)varlena(dot)com> |
| Cc: | Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>, pgsql-hackers(at)postgresql(dot)org, CG <cgg007(at)yahoo(dot)com> |
| Subject: | Re: Foreign keys for non-default datatypes |
| Date: | 2006-03-03 01:41:20 |
| Message-ID: | 16754.1141350080@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
elein <elein(at)varlena(dot)com> writes:
> ... What I'm saying is that the opclass needs to be
> an option to PRIMARY KEY and FOREIGN KEY--
PRIMARY KEY and UNIQUE, you mean.
This was brought up before, but I remain less than excited about it.
You can get essentially the same functionality by doing a CREATE UNIQUE
INDEX command, so allowing it as part of the PK/UNIQUE syntax is little
more than syntactic sugar. I'm concerned that wedging opclass names
into that syntax could come back to haunt us some day --- eg, if SQL2009
decides to put their own kind of option into the same syntactic spot.
> The case in point is a subtype (domain) with a BTREE operator class.
> I can of course create a separate unique index, however, if I use the
> PRIMARY KEY syntax the op class of the data type is not recognized.
Hm, does CREATE INDEX work without explicitly specifying the opclass?
I suspect your complaint really stems from overeager getBaseType() calls
in the index definition code, which is maybe fixable without having to
get into syntactic extensions.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Neil Conway | 2006-03-03 01:56:43 | column order in GROUP BY |
| Previous Message | elein | 2006-03-03 01:31:07 | Re: Foreign keys for non-default datatypes |