[pgsql-jp: 31849] Re: PostgreSQL7.4 の cidr について
ISHIDA Akio
iakio @ pjam.jpweb.net
2003年 12月 21日 (日) 16:41:06 JST
こんにちは。石田@苫小牧市です。
ohtani miyuki wrote:
> FreeBSD 4.9 Release に PostgreSQL 7.4 を install しました。
>
> psql を起動して以下のように sql を実行したところ、
> このような結果が出ました。
>
> test=# select '192.168.100.128/20'::CIDR;
> cidr
> --------------------
> 192.168.100.128/20
> (1 row)
(中略)
>
> ためしに、少々 ver. が古いのですが
> FreeBSD 4.5 Release に install した PostgreSQL 7.2.2 で同様に行ったところ、
>
> test=# select '192.168.100.128/20'::CIDR;
> ERROR: invalid CIDR value '192.168.100.128/20': has bits set to right of mask
>
> となりました。
> PostgreSQL7.4 での動作は正しいものなのでしょうか ?
7.3 あたりでも ERROR になりますね。7.4 のバグのような気がします。
--- src/backend/utils/adt/network.c.org Mon Sep 29 09:05:25 2003
+++ src/backend/utils/adt/network.c Sun Dec 21 13:26:34 2003
@@ -929,7 +929,7 @@
if (bits == maxbits)
return true;
- byte = (bits + 7) / 8;
+ byte = bits / 8;
nbits = bits % 8;
mask = 0xff;
if (bits != 0)
が正解だと思うのですが。
誰か検証と本家へ報告お願いできませんか?
--
ISHIDA Akio<iakio @ pjam.jpweb.net>
pgsql-jp メーリングリストの案内