Re: logical column position - Mailing list pgsql-hackers

From Andreas Pflug
Subject Re: logical column position
Date
Msg-id 3FBBBA34.4090703@pse-consulting.de
Whole thread Raw
In response to Re: logical column position  (Dave Cramer <pg@fastcrypt.com>)
Responses Re: logical column position  (Hannu Krosing <hannu@tm.ee>)
Re: logical column position  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Dave Cramer wrote:

>Andreas,
>
>
>On Wed, 2003-11-19 at 13:07, Andreas Pflug wrote:
>  
>
>>Dave Cramer wrote:
>>
>>    
>>
>>>Andreas,
>>>
>>>The point of this is to maintain the column position. I don't think that
>>>an alter of a column type should move the column position.
>>>
>>>      
>>>
>>Why should ALTER COLUMN change the column number, i.e. position?
>>    
>>
>
>Rod's current proposed patch does that if you do an alter column alter
>type. This is an artifact of the underlying mechanism. (ren old col, add
>new col, update newcol=oldcol::newtype). 
>
I must have missed that, can't find it in hackers?!?
In this case the old attnum value should simply be reused, to retain the 
original ordering. IMHO this is necessary to prevent problems with any 
object referencing a column (index, view, ...) The current proposal 
invents the attpos for column ordering purpose only, but 
views/indexes/etc will reference attnum, and would need updates.

Actually, a column that changes its attnum is just like a table changing 
its oid, i.e. it's not the same object any more. This will provoke 
problems in administration tools (at least in pgAdmin3, which will try 
to refresh its display with the formerly known oid/attnum af ter 
executing a change), and maybe other places too.

To put it differently: a ALTER COLUMN command may never-ever change the 
identifier of the column, i.e. attrelid/attnum.

Regards,
Andreas



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Build farm
Next
From: Austin Gonyou
Date:
Subject: Re: Commercial binary support?