Hi ,

Looks like ADD UNIQUE( some_fuc( some_feild) ) is not supported with add constraint.
the only way is to add the constriant is using UNIQUE INDEX .
Is it a bug or intended behaviour?

Regds
Mallah.


in 7.3.4
~~~~~~~~~~~~

tradein_clients=#  ALTER TABLE general.email_master ADD CONSTRAINT 
email_master_uniq_lower_btrim_email UNIQUE( lower(email) );

ERROR:  parser: parse error at or near "(" at character 99
tradein_clients=#

tradein_clients=#
tradein_clients=# CREATE UNIQUE INDEX email_master_uniq_lower_btrim_email on 
general.email_master( lower(email) );
ERROR:  Cannot create unique index. Table contains non-unique values

Well the SQL has failed but it was parsed successfully.

tradein_clients=#



SAME PROBLEM IN PGSQL 7.4 RC2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

template1=# alter table  t_a  add constraint "a"  UNIQUE (email);
NOTICE:  ALTER TABLE / ADD UNIQUE will create implicit index "a" for table "t_a"
ALTER TABLE
template1=# alter table  t_a  add constraint "b"    UNIQUE (lower(email));
ERROR:  syntax error at or near "(" at character 54
template1=#




---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to