Re: Question: test "aggregates" failed in 32-bit machine
| От | Andres Freund |
|---|---|
| Тема | Re: Question: test "aggregates" failed in 32-bit machine |
| Дата | |
| Msg-id | 20220930163550.g77hpm76kdfek5l2@awork3.anarazel.de обсуждение исходный текст |
| Ответ на | Re: Question: test "aggregates" failed in 32-bit machine (Tom Lane <tgl@sss.pgh.pa.us>) |
| Список | pgsql-hackers |
Hi, On 2022-09-30 12:13:11 -0400, Tom Lane wrote: > "kuroda.hayato@fujitsu.com" <kuroda.hayato@fujitsu.com> writes: > > Hmm, I was not sure about additional conditions, sorry. > > I could reproduce with followings steps: > > I tried this on a 32-bit VM with gcc 11.3, but couldn't reproduce. > You said earlier > > >> OS: RHEL 6.10 server > >> Arch: i686 > >> Gcc: 4.4.7 > > That is an awfully old compiler; I fear I no longer have anything > comparable on a working platform. > > The most likely theory, I think, is that that compiler is generating > slightly different floating-point code causing different plans to > be costed slightly differently than what the test case is expecting. > Probably, the different orderings of the keys in this test case have > exactly the same cost, or almost exactly, so that different roundoff > error could be enough to change the selected plan. Yea. I suspect that's because that compiler version doesn't have -fexcess-precision=standard: > CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute-Wformat-security -fno-strict-aliasing -fwrapv -g -O2 It's possible one could work around the issue with -msse -mfpmath=sse instead of -fexcess-precision=standard. Greetings, Andres Freund
В списке pgsql-hackers по дате отправления: