Re: Update violating constraint

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Update violating constraint
Дата
Msg-id 200705050216.l452GbZ18603@momjian.us
обсуждение исходный текст
Ответ на Re: Update violating constraint  (Alvaro Herrera <alvherre@commandprompt.com>)
Список pgsql-general
Alvaro Herrera wrote:
> Alban Hertroys wrote:
> > Richard Huxton wrote:
> > > Alban Hertroys wrote:
> > >> Naz Gassiep wrote:
> > >>> Hi,
> > >>>     I'm trying to do an update on a table that has a unique constraint
> > >>> on the field, I need to update the table by setting field = field+1
> > >
> > >> I think you're looking for deferrable constraints; see:
> > >>
> > >> http://www.postgresql.org/docs/8.2/static/sql-set-constraints.html
> > >
> > > Which won't work with unique constraints unfortunately. That's because
> > > they're implemented through a unique index.
> >
> > I appreciate the complexities involved, but that really ought to work on
> > a single statement. I recall seeing something along these lines on the
> > TODO list some time ago?
>
> It is still on the TODO list.  If you want it to disappear from there,
> your best bet is implementing a fix, followed by motivating someone to
> do it for you.  If you don't, bets are someone will do it eventually
> (which may be too late for your taste).

Yes, TODO has:

        o Allow DEFERRABLE and end-of-statement UNIQUE constraints?

          This would allow UPDATE tab SET col = col + 1 to work if col has
          a unique index.  Currently, uniqueness checks are done while the
          command is being executed, rather than at the end of the statement
          or transaction.
          http://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html
          http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php

--
  Bruce Momjian  <bruce@momjian.us>          http://momjian.us
  EnterpriseDB                               http://www.enterprisedb.com

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

В списке pgsql-general по дате отправления:

Предыдущее
От: Jeff Davis
Дата:
Сообщение: Re: varchar as primary key
Следующее
От: Glen Eustace
Дата:
Сообщение: An alternatives to rules and triggers