Thread: Apparent bug in 1.10.3 - refreshing functions within the object browser causes them to disappear

Hello,

I'm seeing what appears to be a bug on 1.10.3 (standard windows
package), on my windows XP SP3 machine. None of this behaviour can be
reproduced with 1.10.2. We're using the EDB windows binaries of
postgres, version 8.4.3.

The second and subsequent times I apply changes to a function, I
invariably see a messagebox that says:

---------------------------
Overwrite changes?
---------------------------
The object has been changed by another user. Do you wish to continue
to to try to update it?
---------------------------
Yes   No
---------------------------

In addition, if I refresh any individual function (of which there are
hundreds) within the object browser, it disappears. I can subsequently
refresh all functions, and my missing functions re-appear. I guess
PgAdmin stores the oid of functions internally, and cannot find
objects of that oid or somesuch when individual functions are
refreshed. I've been meaning to hack the pgadmin source code for some
time now, but haven't gotten around to it yet.

I hesitate to produce a test case (which I guess would take the form
of a schema only dump), because this database is, I'm afraid,
commercially sensitive.

Are you aware of this problem? I only took a cursory glance at the
recent mailing list archives.

Regards,
Peter Geoghegan


Le 28/05/2010 13:07, Peter Geoghegan a écrit :
> [...]
> I'm seeing what appears to be a bug on 1.10.3 (standard windows
> package), on my windows XP SP3 machine. None of this behaviour can be
> reproduced with 1.10.2. We're using the EDB windows binaries of
> postgres, version 8.4.3.
> 
> The second and subsequent times I apply changes to a function, I
> invariably see a messagebox that says:
> 
> ---------------------------
> Overwrite changes?
> ---------------------------
> The object has been changed by another user. Do you wish to continue
> to to try to update it?
> ---------------------------
> Yes   No
> ---------------------------
> 
> In addition, if I refresh any individual function (of which there are
> hundreds) within the object browser, it disappears. I can subsequently
> refresh all functions, and my missing functions re-appear. I guess
> PgAdmin stores the oid of functions internally, and cannot find
> objects of that oid or somesuch when individual functions are
> refreshed. I've been meaning to hack the pgadmin source code for some
> time now, but haven't gotten around to it yet.
> 
> I hesitate to produce a test case (which I guess would take the form
> of a schema only dump), because this database is, I'm afraid,
> commercially sensitive.
> 
> Are you aware of this problem? I only took a cursory glance at the
> recent mailing list archives.
> 

We now are. It reproduce this on functions. I won't be surprise we have
the same issue with triggers and views (they are the only objects that
really implement the IsUpToDate() method).

I added a ticket to remind me to work on this
(http://code.pgadmin.org/trac/ticket/198).

Thanks for your report, and sorry for the late answer.


-- 
Guillaumehttp://www.postgresql.frhttp://dalibo.com


Le 31/05/2010 20:40, Guillaume Lelarge a écrit :
> Le 28/05/2010 13:07, Peter Geoghegan a écrit :
>> [...]
>> I'm seeing what appears to be a bug on 1.10.3 (standard windows
>> package), on my windows XP SP3 machine. None of this behaviour can be
>> reproduced with 1.10.2. We're using the EDB windows binaries of
>> postgres, version 8.4.3.
>>
>> The second and subsequent times I apply changes to a function, I
>> invariably see a messagebox that says:
>>
>> ---------------------------
>> Overwrite changes?
>> ---------------------------
>> The object has been changed by another user. Do you wish to continue
>> to to try to update it?
>> ---------------------------
>> Yes   No
>> ---------------------------
>>
>> In addition, if I refresh any individual function (of which there are
>> hundreds) within the object browser, it disappears. I can subsequently
>> refresh all functions, and my missing functions re-appear. I guess
>> PgAdmin stores the oid of functions internally, and cannot find
>> objects of that oid or somesuch when individual functions are
>> refreshed. I've been meaning to hack the pgadmin source code for some
>> time now, but haven't gotten around to it yet.
>>
>> I hesitate to produce a test case (which I guess would take the form
>> of a schema only dump), because this database is, I'm afraid,
>> commercially sensitive.
>>
>> Are you aware of this problem? I only took a cursory glance at the
>> recent mailing list archives.
>>
> 
> We now are. It reproduce this on functions. I won't be surprise we have
> the same issue with triggers and views (they are the only objects that
> really implement the IsUpToDate() method).
> 
> I added a ticket to remind me to work on this
> (http://code.pgadmin.org/trac/ticket/198).
> 
> Thanks for your report, and sorry for the late answer.
> 

OK, the bug should be fixed now. You can check that on pgAdmin 1.12beta
when it'll be out.


-- 
Guillaumehttp://www.postgresql.frhttp://dalibo.com


>
> OK, the bug should be fixed now. You can check that on pgAdmin 1.12beta
> when it'll be out.



Great, thanks

-- 
Regards,
Peter Geoghegan