BUG #6460: routine my_log2 use incorrect data type ?

Поиск
Список
Период
Сортировка
От zoulx1982@163.com
Тема BUG #6460: routine my_log2 use incorrect data type ?
Дата
Msg-id E1RyGKF-0007i4-6P@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #6460: routine my_log2 use incorrect data type ?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      6460
Logged by:          lxzou
Email address:      zoulx1982@163.com
PostgreSQL version: 9.1.2
Operating system:   Windows Server 2008 64 bit
Description:=20=20=20=20=20=20=20=20

Hi,
 I startup postgres in win server 2008 64-bit with
shared_buffers=3D1073741819, but find it doesn't work.

I debug the postgres use vs2008, and find it enter an Infinite loop in
my_log2.

when the parameter num is between (2^30) + 1 and (2^31) -1, it will be an
Infinite loop.

because long in win 64 is 4 bytes, so (2^30) << 1 is 2^31, i.e. -2^31.
move left again it will be zero.

size_t in win64 is 8 bytes=EF=BC=8Cso add_size and mul_size can't check ove=
rflow,
but in win32 it can do that.

So, whether we should use Size instead of long ?

Best wishes

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

Предыдущее
От: yannick godbout
Дата:
Сообщение: probleme d'installation
Следующее
От: lenka.piyush@gmail.com
Дата:
Сообщение: BUG #6461: "-t" deletes primary key