parent
e29a2580a5
commit
7a8c8b8f46
|
@ -304,23 +304,21 @@ static void set_datum_value(Decoderbufs__DatumMessage *datum_msg, Oid typid,
|
||||||
case TIMESTAMPOID:
|
case TIMESTAMPOID:
|
||||||
ts = DatumGetTimestamp(datum);
|
ts = DatumGetTimestamp(datum);
|
||||||
if (TIMESTAMP_NOT_FINITE(ts)) {
|
if (TIMESTAMP_NOT_FINITE(ts)) {
|
||||||
ereport(ERROR, (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE),
|
datum_msg->datum_int64 = ts;
|
||||||
errmsg("timestamp \'%s\'out of range", ts ? strVal(ts) : "(null)")));
|
|
||||||
} else {
|
} else {
|
||||||
datum_msg->datum_int64 = TIMESTAMPTZ_TO_USEC_SINCE_EPOCH(ts);
|
datum_msg->datum_int64 = TIMESTAMPTZ_TO_USEC_SINCE_EPOCH(ts);
|
||||||
|
}
|
||||||
datum_msg->datum_case = DECODERBUFS__DATUM_MESSAGE__DATUM_DATUM_INT64;
|
datum_msg->datum_case = DECODERBUFS__DATUM_MESSAGE__DATUM_DATUM_INT64;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case TIMESTAMPTZOID:
|
case TIMESTAMPTZOID:
|
||||||
ts = DatumGetTimestampTz(datum);
|
ts = DatumGetTimestampTz(datum);
|
||||||
if (TIMESTAMP_NOT_FINITE(ts)) {
|
if (TIMESTAMP_NOT_FINITE(ts)) {
|
||||||
ereport(ERROR, (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE),
|
datum_msg->datum_int64 = ts;
|
||||||
errmsg("timestamp \'%s\'out of range", ts ? strVal(ts) : "(null)")));
|
|
||||||
} else {
|
} else {
|
||||||
datum_msg->datum_int64 = TIMESTAMPTZ_TO_USEC_SINCE_EPOCH(ts);
|
datum_msg->datum_int64 = TIMESTAMPTZ_TO_USEC_SINCE_EPOCH(ts);
|
||||||
|
}
|
||||||
datum_msg->datum_case = DECODERBUFS__DATUM_MESSAGE__DATUM_DATUM_INT64;
|
datum_msg->datum_case = DECODERBUFS__DATUM_MESSAGE__DATUM_DATUM_INT64;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case DATEOID:
|
case DATEOID:
|
||||||
/* simply get the number of days as the stored 32 bit value and convert to EPOCH */
|
/* simply get the number of days as the stored 32 bit value and convert to EPOCH */
|
||||||
datum_msg->datum_int32 = DATE_TO_DAYS_SINCE_EPOCH(DatumGetDateADT(datum));
|
datum_msg->datum_int32 = DATE_TO_DAYS_SINCE_EPOCH(DatumGetDateADT(datum));
|
||||||
|
|
Loading…
Reference in New Issue