@@ -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