Re: [PATCH] Improve geometric types

Emre Hasegeli <emre@hasegeli.com>

From: Emre Hasegeli <emre@hasegeli.com>
To: Thomas Munro <thomas.munro@enterprisedb.com>
Cc: Tomas Vondra <tomas.vondra@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>
Date: 2018-07-10T17:36:41Z
Lists: pgsql-hackers

Attachments

> Now I understand what you mean.  win32_port.h defines isnan(x) as
> _isnan(x) if (_MSC_VER < 1800).  It doesn't look right to have the
> definition in here but not include <float.h> as _isnan() is coming
> from there.  I am preparing an additional patch to add the include and
> remove it from files where it is obviously put to work around this
> problem.

I posted this to another thread.  Until this is sorted out I made the
new float header patch include <float.h>, so they are not dependent.
New versions are attached.

Commits

  1. Improve test coverage of geometric types

  2. Fix problems in handling the line data type

  3. Use the built-in float datatypes to implement geometric types

  4. Remove remaining GEODEBUG references from geo_ops.c

  5. Provide separate header file for built-in float types

  6. Refactor geometric functions and operators

  7. Fix crash in close_ps() for NaN input coordinates.

  8. Fix GiST index build for NaN values in geometric types.

  9. Enable building with Visual Studion 2013.

  10. Suppress -0 in the C field of lines computed by line_construct_pts().