postgres.git / summary / log / commit / refs
commit 74294c7301340eeb477343dd26d98d2f3e33bd20
Author: Tomas Vondra <tomas.vondra@postgresql.org>
Date: Sun Jul 29 18:35:18 2018 +0000
Restore handling of -0 in the C field of lines in line_construct().
Commit a7dc63d904 inadvertedly removed this bit originally introduced
by 43fe90f66a, causing regression test failures on some platforms,
due to producing {1,-1,-0} instead of {1,-1,0}.
src/backend/utils/adt/geo_ops.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/backend/utils/adt/geo_ops.c b/src/backend/utils/adt/geo_ops.c
index 1fb2ff2603c..621b5c33ef1 100644
--- a/src/backend/utils/adt/geo_ops.c
+++ b/src/backend/utils/adt/geo_ops.c
@@ -1024,6 +1024,9 @@ line_construct(LINE *result, Point *pt, float8 m)
result->A = m;
result->B = -1.0;
result->C = pt->y - m * pt->x;
+ /* on some platforms, the preceding expression tends to produce -0 */
+ if (result->C == 0.0)
+ result->C = 0.0;
}
}
[parent: fb17eabf1b51]