Re: Odd 9.4, 9.3 buildfarm failure on s390x
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Mark Wong <mark@2ndQuadrant.com>,
Andrew Gierth <andrew@tao11.riddles.org.uk>,
Andrew Dunstan <andrew.dunstan@2ndQuadrant.com>,
pgsql-hackers@postgresql.org
Date: 2018-10-05T02:12:04Z
Lists: pgsql-hackers
Attachments
- allow-INT_MIN-as-comparison-result-1.patch (text/x-diff) patch
I wrote: > Andres Freund <andres@anarazel.de> writes: >> On 2018-10-01 12:13:57 -0400, Tom Lane wrote: >>> (2) Drop the restriction. This'd require at least changing the >>> DESC correction, and maybe other things. I'm not sure what the >>> odds would be of finding everyplace we need to check. >> (2) seems more maintainable to me (or perhaps less unmaintainable). It's >> infrastructure, rather than every datatype + support out there... > I guess we could set up some testing infrastructure: hack int4cmp > and/or a couple other popular comparators so that they *always* > return INT_MIN, 0, or INT_MAX, and then see what falls over. Here's a draft patch against HEAD for this. I looked for problem spots by (a) testing with the STRESS_SORT_INT_MIN option I added in nbtcompare.c, (b) grepping for "x = -x" type code, and (c) grepping for "return -x" type code. (b) and (c) found several places that (a) didn't, which does not give me a warm feeling about whether I have found quite everything. I changed a couple of places where things might've been safe but I didn't feel like chasing the calls to prove it (e.g. imath.c), and contrariwise I left a *very* small number of places alone because they were inverting the result of a specific function that is defined to return 1/0/-1 and nothing else. regards, tom lane
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Allow btree comparison functions to return INT_MIN.
- 6e63e0697516 9.3.25 landed
- 60cc2414beac 9.6.11 landed
- 26cc27541d92 9.4.20 landed
- 0dc6bf633a28 9.5.15 landed
- c87cb5f7a679 12.0 landed
- 67e7d4da72dc 11.0 landed
- 142cfd3cd82e 10.6 landed