Re: Crash in BRIN minmax-multi indexes
От | Tomas Vondra |
---|---|
Тема | Re: Crash in BRIN minmax-multi indexes |
Дата | |
Msg-id | 4c972b7f-3223-93c1-2b14-b2c7f4061ce8@enterprisedb.com обсуждение исходный текст |
Ответ на | Re: Crash in BRIN minmax-multi indexes (Zhihong Yu <zyu@yugabyte.com>) |
Список | pgsql-hackers |
On 4/1/21 3:22 AM, Zhihong Yu wrote: > Hi, > - delta += (float8) addrb[i] - (float8) addra[i]; > - delta /= 256; > ... > + delta /= 255; > > May I know why the divisor was changed ? > Yeah, that's a mistake, it should remain 256. Consider two subtractions 1.1.2.255 - 1.1.1.0 = [0, 0, 1, 255] 1.1.2.255 - 1.1.0.255 = [0, 0, 2, 0] With the divisor being 255 those would be the same (2 * 256), but we want the first one to be a bit smaller. It's also consistent with how inet does subtractions: test=# select '1.1.2.255'::inet - '1.1.0.255'::inet; ?column? ---------- 512 (1 row) test=# select '1.1.2.255'::inet - '1.1.1.0'::inet; ?column? ---------- 511 (1 row) So I'll keep the 256. regards -- Tomas Vondra EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: