Re: Add column if not exists (CINE)

Simon Riggs <simon@2ndquadrant.com>

From: Simon Riggs <simon@2ndQuadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Andrew Dunstan <andrew@dunslane.net>, Takahiro Itagaki <itagaki.takahiro@oss.ntt.co.jp>, Kjell Rune Skaaraas <kjella79@yahoo.no>, pgsql-hackers@postgresql.org
Date: 2010-07-22T00:43:01Z
Lists: pgsql-hackers
On Wed, 2010-04-28 at 21:15 -0400, Tom Lane wrote:

> I still say
> that COR rather than CINE semantics would be appropriate for columns.

Viewed from a locking perspective, I would disagree.

COR semantics force a table rewrite, in certain cases. That makes it
hard to predict externally how long the command will run for.

As a DBA, I would want a command that executes without rewrite (if
appropriate) or does nothing.

Predictable behaviour is the most important concern.

That isn't necessarily an argument in favour of CINE, which seems
slightly less clear about what we might expect from that, in my reading
at least.

-- 
 Simon Riggs           www.2ndQuadrant.com
 PostgreSQL Development, 24x7 Support, Training and Services