Skip to content

Commit

Permalink
Fix interpolate for ARM32
Browse files Browse the repository at this point in the history
Interpolate was trying to use a datum as an int64. This is a bug
that was flagged on arm.
  • Loading branch information
cevian committed Oct 28, 2019
1 parent bf9eea0 commit 3ad6a5c
Showing 1 changed file with 6 additions and 12 deletions.
18 changes: 6 additions & 12 deletions tsl/src/nodes/gapfill/interpolate.c
Expand Up @@ -209,32 +209,26 @@ gapfill_interpolate_calculate(GapFillInterpolateColumnState *column, GapFillStat
interpolate_numeric(x,
x0,
x1,
DirectFunctionCall1(int2_numeric,
DatumGetInt16(y0)),
DirectFunctionCall1(int2_numeric,
DatumGetInt16(y1))));
DirectFunctionCall1(int2_numeric, y0),
DirectFunctionCall1(int2_numeric, y1)));
break;
case INT4OID:
*value =
DirectFunctionCall1(numeric_int4,
interpolate_numeric(x,
x0,
x1,
DirectFunctionCall1(int4_numeric,
DatumGetInt32(y0)),
DirectFunctionCall1(int4_numeric,
DatumGetInt32(y1))));
DirectFunctionCall1(int4_numeric, y0),
DirectFunctionCall1(int4_numeric, y1)));
break;
case INT8OID:
*value =
DirectFunctionCall1(numeric_int8,
interpolate_numeric(x,
x0,
x1,
DirectFunctionCall1(int8_numeric,
DatumGetInt64(y0)),
DirectFunctionCall1(int8_numeric,
DatumGetInt64(y1))));
DirectFunctionCall1(int8_numeric, y0),
DirectFunctionCall1(int8_numeric, y1)));
break;
case FLOAT4OID:
*value = Float4GetDatum(INTERPOLATE(x, x0, x1, DatumGetFloat4(y0), DatumGetFloat4(y1)));
Expand Down

0 comments on commit 3ad6a5c

Please sign in to comment.