Re: [PATCH] Improve geometric types
Emre Hasegeli <emre@hasegeli.com>
From: Emre Hasegeli <emre@hasegeli.com>
To: Tomas Vondra <tomas.vondra@2ndquadrant.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-17T16:40:44Z
Lists: pgsql-hackers
Attachments
- 0001-line-fixes-v14.patch (application/octet-stream) patch v14-0001
- 0002-geo-tests-v10.patch.gz (application/x-gzip) patch v10-0002
> 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. > 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.
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