Fix multiple bugs in numeric_poly_deserialize().

These were evidently introduced by yesterday's commit 9cca11c91,
which perhaps needs more review than it got.

Per report from Andreas Seltenreich and additional examination
of nearby code.

Report: <87oa45qfwq.fsf@credativ.de>
This commit is contained in:
Tom Lane 2016-09-03 14:18:55 -04:00
parent 60893786d5
commit 600dc4c0da
1 changed files with 2 additions and 2 deletions

View File

@ -4193,11 +4193,11 @@ numeric_poly_deserialize(PG_FUNCTION_ARGS)
accum_sum_add(&result->sumX, &sumX_var);
#endif
set_var_from_num(DatumGetNumeric(sumX2), &sumX2_var);
init_var_from_num(DatumGetNumeric(sumX2), &sumX2_var);
#ifdef HAVE_INT128
numericvar_to_int128(&sumX2_var, &result->sumX2);
#else
accum_sum_add(&result->sumX2, &sumX_var);
accum_sum_add(&result->sumX2, &sumX2_var);
#endif
pq_getmsgend(&buf);