Re: [HACKERS] TODO list request: FK to unique expression indexes

2008-11-20 Thread Bruce Momjian
David E. Wheeler wrote:
 On Nov 19, 2008, at 9:12 AM, Josh Berkus wrote:
 
  Folks,
 
  Since it's too late to look at this for 8.4, can the following go on  
  the TODO list?
 
  Referential Integrity
 
  [] Allow creation of FKs targeting unique expression indexes on the  
  referenced table.  Syntax: REFERENCES reftable ( ( column  
  expression ) )
 
  Reason: current FK rules do not allow creating FKs to columns which  
  are defined as, for example, unique(lower(column)).  This forces  
  users to either abandon RI for that table, to store duplicate data,  
  or create superfluous indexes.
 
  Hmmm ... I suppose the above would require enabling expression  
  indexes for PKs as well, no?
 
 In 8.4 you should be able to get around this particular example using  
 citext.

Yes, good idea on citext.  

Allowing foreign keys to point to expression indexes seems to open a can
of worms and I am not sure there is enough demand to warrant it.

-- 
  Bruce Momjian  [EMAIL PROTECTED]http://momjian.us
  EnterpriseDB http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] TODO list request: FK to unique expression indexes

2008-11-20 Thread Robert Haas
 Allowing foreign keys to point to expression indexes seems to open a can
 of worms and I am not sure there is enough demand to warrant it.

It does open a can of worms.  I've often wanting something related,
which is the ability to make a foreign key references a PARTIAL index.

...Robert

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] TODO list request: FK to unique expression indexes

2008-11-19 Thread Josh Berkus

Folks,

Since it's too late to look at this for 8.4, can the following go on the 
TODO list?


Referential Integrity

[] Allow creation of FKs targeting unique expression indexes on the 
referenced table.  Syntax: REFERENCES reftable ( ( column expression ) )


Reason: current FK rules do not allow creating FKs to columns which are 
defined as, for example, unique(lower(column)).  This forces users to 
either abandon RI for that table, to store duplicate data, or create 
superfluous indexes.


Hmmm ... I suppose the above would require enabling expression indexes 
for PKs as well, no?


--Josh Berkus

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] TODO list request: FK to unique expression indexes

2008-11-19 Thread David E. Wheeler

On Nov 19, 2008, at 9:12 AM, Josh Berkus wrote:


Folks,

Since it's too late to look at this for 8.4, can the following go on  
the TODO list?


Referential Integrity

[] Allow creation of FKs targeting unique expression indexes on the  
referenced table.  Syntax: REFERENCES reftable ( ( column  
expression ) )


Reason: current FK rules do not allow creating FKs to columns which  
are defined as, for example, unique(lower(column)).  This forces  
users to either abandon RI for that table, to store duplicate data,  
or create superfluous indexes.


Hmmm ... I suppose the above would require enabling expression  
indexes for PKs as well, no?


In 8.4 you should be able to get around this particular example using  
citext.


Best,

David


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers