From: | "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com> |
---|---|
To: | David Lowe <dlowe(at)airplay(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org, Peter Eisentraut <peter_e(at)gmx(dot)net> |
Subject: | Re: Support for idempotent schema changes? |
Date: | 2007-03-04 18:36:42 |
Message-ID: | 45EB11BA.9070002@commandprompt.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
David Lowe wrote:
> Within the context of a script, executing:
>
> Begin
> Statement1
> Statement2
> Statement3
> Commit
>
> Where I only wish to commit if the error is specific to the object
> already existing, and rollback for all other errors, what's the best way
> to accomplish that?
>
You would have to put each statement into a savepoint, and catch each
error that occured and commit or rollback to a savepoint
based on that result.
Joshua D. Drake
>
> -----Original Message-----
> From: Peter Eisentraut [mailto:peter_e(at)gmx(dot)net]
> Sent: Saturday, March 03, 2007 11:45 PM
> To: pgsql-general(at)postgresql(dot)org
> Cc: David Lowe
> Subject: Re: [GENERAL] Support for idempotent schema changes?
>
> David Lowe wrote:
>
>> So how can I make statements of the form:
>>
>
>
>> * alter table only customers add constraint
>> a_previously_missed_constraint unique (a, b, c);
>>
>> * add column points int4 not null default 0;
>>
>
>
>> idempotent?
>>
>
> You just ignore the error if the object already exists.
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Garry Saddington | 2007-03-04 18:56:20 | Re: date format |
Previous Message | Tom Lane | 2007-03-04 18:36:21 | Re: Configure can't find com_err on OpenBSD for --with-krb5 |