BUG #6618: incorrect restore for composite columns when order changes

Lists: pgsql-bugs
From: rikard(dot)pavelic(at)zg(dot)htnet(dot)hr
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #6618: incorrect restore for composite columns when order changes
Date: 2012-04-26 22:20:51
Message-ID: E1SNX3T-0003Mk-Gy@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 6618
Logged by: Rikard Pavelic
Email address: rikard(dot)pavelic(at)zg(dot)htnet(dot)hr
PostgreSQL version: 9.1.3
Operating system: Windows 7
Description:

We've run into another issue with composite types.
I've search internets but didn't find any reference to this, so I guess it's
not a documented problem.

Steps to reproduce problem:
1) create composite type
2) use composite type as column in a table
3) clone database
4) change order of attributes in cloned database
5) dump to plain sql with column names
6) restore sql dump to cloned database

Problem:
Composite type will be restored in order from original instead of cloned
database.

While I don't see a nice solution to this problem, it's not a too big issue
for us.
Just trying to document some more gotchas with composite types ;(


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: rikard(dot)pavelic(at)zg(dot)htnet(dot)hr
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6618: incorrect restore for composite columns when order changes
Date: 2012-04-26 22:39:01
Message-ID: 16145.1335479941@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

rikard(dot)pavelic(at)zg(dot)htnet(dot)hr writes:
> Steps to reproduce problem:
> 1) create composite type
> 2) use composite type as column in a table
> 3) clone database
> 4) change order of attributes in cloned database
> 5) dump to plain sql with column names
> 6) restore sql dump to cloned database

There is no supported method for changing the order of attributes in a
composite type, so I wonder exactly how you did step 4. If it involved
direct manipulation of the system catalogs, I would say this falls in
the category of "if you break it, you get to keep both pieces".

regards, tom lane


From: Rikard Pavelic <rikard(dot)pavelic(at)zg(dot)htnet(dot)hr>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6618: incorrect restore for composite columns when order changes
Date: 2012-04-27 06:57:26
Message-ID: 4F9A4356.4070409@zg.htnet.hr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

On 27.4.2012. 0:39, Tom Lane wrote:
>
> There is no supported method for changing the order of attributes in a
> composite type, so I wonder exactly how you did step 4. If it involved
> direct manipulation of the system catalogs, I would say this falls in
> the category of "if you break it, you get to keep both pieces".
>
> regards, tom lane
>

Well, there is no supported method for changing order of columns too, but
doesn't stop you from creating new and dropping old until you have
order which you want.

To be exact I didn't clone the database, I let our tool build it.
It built types with different order because our schema changed in the meantime.

Regards,
Rikard