diff options
author | Ashutosh Bapat | 2012-04-02 10:09:32 +0000 |
---|---|---|
committer | Ashutosh Bapat | 2012-04-02 10:09:32 +0000 |
commit | a40e4ef8d222bf9cdc3952e7af668864949b0d00 (patch) | |
tree | eca0d806a9d9b7b452f855b03f78cb40419066d7 /src/backend/executor/nodeModifyTable.c | |
parent | d7134501525dd2a3d7c8fc30a8f29fdaab110d98 (diff) |
Any data exchange between coordinator and datanode happens in the form of text,
obtained by calling I/O functions for datatypes. For float4 and float8 we used
float*out function which limit the number of digits in the string to
DBL_DIG/FLT_DIG (both 16) + extra_float_digits (GUC). By default the later value
is 0. Rest of the digits are truncated. Thus we see a difference at the 16th
digit when we add up truncated floating point transition results from datanodes.
The fix here is really to move from text based data exchange to binary data
exchange between coordinator and datanode, which will preserve the precision of
floating point. This is basic change and might be risky to apply just before the
release. Hence adding alternate output file.
The test aggregates has EXPLAIN outputs specific to PostgreSQL. Those outputs
are not valid in Postgres-XC. Hence updating the expected output with EXPLAIN
outputs obtained in Postgres-XC.
Diffstat (limited to 'src/backend/executor/nodeModifyTable.c')
0 files changed, 0 insertions, 0 deletions