Re: OIDS > INT_MAX displayed wrapped around

Поиск
Список
Период
Сортировка
От Guillaume Lelarge
Тема Re: OIDS > INT_MAX displayed wrapped around
Дата
Msg-id 46AEEA67.60906@lelarge.info
обсуждение исходный текст
Ответ на Re: OIDS > INT_MAX displayed wrapped around  (Guillaume Lelarge <guillaume@lelarge.info>)
Ответы Re: OIDS > INT_MAX displayed wrapped around  (Dave Page <dpage@postgresql.org>)
Re: OIDS > INT_MAX displayed wrapped around  (Kris Jurka <books@ejurka.com>)
Список pgadmin-hackers
Guillaume Lelarge a écrit :
> Hi Kris,
>
> Kris Jurka a écrit :
>> The display for tables that have oids higher than INT_MAX is correct in
>> one dialog, but wrapped around in another.  The popup properties is
>> wrong while the properties displayed in the core view is right.  It's
>> difficult to describe exactly in words, so here's a screenshot.
>>
>> http://ejurka.com/pgsql/pgadmin/highoids.png
>>
>
> Thanks for the report and the screenshot. We use long instead of
> unsigned long in dlgProperties.cpp. So it should be pretty easy to fix
> but I need some time to build a test case.
>

I don't know how I can build such a test case. My generate_series to
build a billion inserts just failed with a "write failed" message...
Here is the patch. It compiles and works on my laptop but I don't know
if it really fixes the issue. If someone with a big enough database can
apply the patch and compile pgAdmin with it, I would be really happy to
know about the result.

Thanks.


--
Guillaume.
<!-- http://abs.traduc.org/
     http://lfs.traduc.org/
     http://docs.postgresqlfr.org/ -->
Index: pgadmin/dlg/dlgProperty.cpp
===================================================================
--- pgadmin/dlg/dlgProperty.cpp    (révision 6515)
+++ pgadmin/dlg/dlgProperty.cpp    (copie de travail)
@@ -264,7 +264,7 @@
         if (txtName)
             txtName->SetValue(GetObject()->GetName());
         if (txtOid)
-            txtOid->SetValue(NumToStr((long)GetObject()->GetOid()));
+            txtOid->SetValue(NumToStr((unsigned long)GetObject()->GetOid()));
         if (cbOwner)
             cbOwner->SetValue(GetObject()->GetOwner());
         if (txtComment)

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: Dave Page
Дата:
Сообщение: Re: Beta 2 start problem on OS X
Следующее
От: Dave Page
Дата:
Сообщение: Re: OIDS > INT_MAX displayed wrapped around