MXS-2354: Fix subsecond part of temporal values

TIMESTAMP2, DATETIME2 and TIME2 values with decimal parts are now
correctly converted into their string forms. Previously the decimal part
was ignored but most of the code required to extract it was in place.
This commit is contained in:
Markus Mäkelä
2019-09-26 10:31:22 +03:00
parent 72d9e41ccb
commit 27675ed41d
3 changed files with 113 additions and 85 deletions

View File

@ -416,13 +416,10 @@ uint8_t* process_row_event_data(STableMapEvent map,
else if (column_is_temporal(map->column_types[i]))
{
char buf[80];
struct tm tm;
ptr += unpack_temporal_value(map->column_types[i],
ptr,
ptr += unpack_temporal_value(map->column_types[i], ptr,
&metadata[metadata_offset],
create->columns[i].length,
&tm);
format_temporal_value(buf, sizeof(buf), map->column_types[i], &tm);
buf, sizeof(buf));
conv->column_string(i, buf);
sprintf(trace[i], "[%ld] %s: %s", i, column_type_to_string(map->column_types[i]), buf);
check_overflow(ptr <= end);