Re: [PATCH] Improve geometric types
Tomas Vondra <tomas.vondra@2ndquadrant.com>
From: Tomas Vondra <tomas.vondra@2ndquadrant.com>
To: emre@hasegeli.com
Cc: Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>,
Tom Lane <tgl@sss.pgh.pa.us>, Thomas Munro <thomas.munro@enterprisedb.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-08-17T17:29:32Z
Lists: pgsql-hackers
On 08/17/2018 06:40 PM, Emre Hasegeli wrote: >> the buildfarm seems to be mostly happy so far, so I've taken a quick >> look at the remaining two parts. The patches still apply, but I'm >> getting plenty of failures in regression tests, due to 0.0 being >> replaced by -0.0. > > I think we are better off fixing them locally at the moment like your > patch does. We should consider to eliminate -0 globally for all > floating point based datatypes later. I simplified and incorporated > your change to line_interpt_line() into mine. > > I am not sure about normalising -0s on point_construct(). We > currently allow points to be initialized with -0s. I think it is fair > for us to return -0 when -x and 0 are multiplied. That is the current > behavior and the behavior of the float datatypes. I adjusted the > results of the new regression tests accordingly. > Hmmm, I need to think about that a bit more. BTW how did we end up with the regression differences? Presumably you've tried that on your machine and it passed. So if we adjust the expected file, won't it fail on some other machines? >> Another thing I noticed is the last few lines from line_interpt_line are >> actually unreachable, because there's now 'else return false' branch. > > Which lines do you mean exactly? I don't see any being unreachable. > Apologies, I got confused - there are no unreachable lines. -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Improve test coverage of geometric types
- a3d2844852dc 12.0 landed
-
Fix problems in handling the line data type
- 2e2a392de391 12.0 landed
-
Use the built-in float datatypes to implement geometric types
- c4c340088546 12.0 landed
-
Remove remaining GEODEBUG references from geo_ops.c
- a082aed0723c 12.0 landed
-
Provide separate header file for built-in float types
- 6bf0bc842bd7 12.0 landed
-
Refactor geometric functions and operators
- a7dc63d904a6 12.0 landed
-
Fix crash in close_ps() for NaN input coordinates.
- 278148907a97 9.6.0 cited
-
Fix GiST index build for NaN values in geometric types.
- 1acf75725545 9.6.0 cited
-
Enable building with Visual Studion 2013.
- cec8394b5ccd 9.4.0 cited
-
Suppress -0 in the C field of lines computed by line_construct_pts().
- 43fe90f66a0b 9.4.0 cited