Skip to content

Commit 54e2c45

Browse files
jpechanegunnarmorling
authored andcommitted
DBZ-1498 Provide precise interval value
1 parent 3c910ff commit 54e2c45

File tree

1 file changed

+1
-11
lines changed

1 file changed

+1
-11
lines changed

src/decoderbufs.c

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -261,9 +261,7 @@ static void set_datum_value(Decoderbufs__DatumMessage *datum_msg, Oid typid,
261261
const char *output = NULL;
262262
Point *p = NULL;
263263
Timestamp ts;
264-
double duration;
265264
TimeTzADT *timetz = NULL;
266-
Interval *interval = NULL;
267265
Decoderbufs__Point dp = DECODERBUFS__POINT__INIT;
268266

269267
int size = 0;
@@ -308,6 +306,7 @@ static void set_datum_value(Decoderbufs__DatumMessage *datum_msg, Oid typid,
308306
case BITOID:
309307
case VARBITOID:
310308
case UUIDOID:
309+
case INTERVALOID:
311310
output = OidOutputFunctionCall(typoutput, datum);
312311
datum_msg->datum_string = pnstrdup(output, strlen(output));
313312
datum_msg->datum_case = DECODERBUFS__DATUM_MESSAGE__DATUM_DATUM_STRING;
@@ -347,15 +346,6 @@ static void set_datum_value(Decoderbufs__DatumMessage *datum_msg, Oid typid,
347346
datum_msg->datum_double = (double) (timetz->time + (timetz->zone * 1000000.0));
348347
datum_msg->datum_case = DECODERBUFS__DATUM_MESSAGE__DATUM_DATUM_DOUBLE;
349348
break;
350-
case INTERVALOID:
351-
interval = DatumGetIntervalP(datum);
352-
/*
353-
Convert the month part of Interval to days using assumed average month length of 365.25/12.0 days.
354-
*/
355-
duration = interval->time + interval->day * (double) USECS_PER_DAY + interval->month * ((DAYS_PER_YEAR / (double) MONTHS_PER_YEAR) * USECS_PER_DAY);
356-
datum_msg->datum_double = duration;
357-
datum_msg->datum_case = DECODERBUFS__DATUM_MESSAGE__DATUM_DATUM_DOUBLE;
358-
break;
359349
case BYTEAOID:
360350
valptr = DatumGetByteaPCopy(datum);
361351
size = VARSIZE(valptr) - VARHDRSZ;

0 commit comments

Comments
 (0)