Thread: Superfluous SQL statements

Superfluous SQL statements

From
Erwin Brandstetter
Date:
Hi developers!

You have not heard a lot of me lately, and I am afraid that will not change
substantially for some time. I am kind of swamped with other stuff.
Anyhoo, I hope this bug report proves  useful.

Testing pgAdmin v.1.8.1 (Jan 3 2008), rev: 6948).
host: pg 8.2.5 on Debian Etch
client: Windows XP.

Trying to edit the default of a column with type integer[] per dialogue
fails. I think I found the cause in the database logs.  pgAdmin sends
additional (unneeded) SQL-statements, that trigger an error.

That's what it should send:
    ALTER TABLE ef.kat ALTER COLUMN pfad SET DEFAULT '{}'::integer[];

That's what pgAdmin sends:
    ALTER TABLE ef.kat ALTER pfad TYPE integer[];
    ALTER TABLE ef.kat ALTER COLUMN pfad SET DEFAULT '{}'::integer[];
    COMMENT ON COLUMN ef.kat.pfad IS 'bla bla bla';

Which triggers an error, because I have a view using the field. And one
cannot change column types of fields in use (even if nothing is actutally
changed). For some reason pgAdmin thinks it needs to update type and comment,
too. But it should not.

Note that this does NOT occur when changing the default of simple integer or
text fields.


Regards
Erwin

Re: Superfluous SQL statements

From
"Dave Page"
Date:
On 08/01/2008, Erwin Brandstetter <brandstetter@falter.at> wrote:
> Hi developers!

Hi Erwin,

> You have not heard a lot of me lately, and I am afraid that will not change
> substantially for some time. I am kind of swamped with other stuff.
> Anyhoo, I hope this bug report proves  useful.

Sorry to hear that :-(.

> Testing pgAdmin v.1.8.1 (Jan 3 2008), rev: 6948).
> host: pg 8.2.5 on Debian Etch
> client: Windows XP.
>
> Trying to edit the default of a column with type integer[] per dialogue
> fails. I think I found the cause in the database logs.  pgAdmin sends
> additional (unneeded) SQL-statements, that trigger an error.
>
> That's what it should send:
>         ALTER TABLE ef.kat ALTER COLUMN pfad SET DEFAULT '{}'::integer[];
>
> That's what pgAdmin sends:
>         ALTER TABLE ef.kat ALTER pfad TYPE integer[];
>         ALTER TABLE ef.kat ALTER COLUMN pfad SET DEFAULT '{}'::integer[];
>         COMMENT ON COLUMN ef.kat.pfad IS 'bla bla bla';

Fixed in SVN.

Thanks for the report!

Regards, Dave