Я нашел ответ на mysql форуме
Решением является анализ необработанных данных. Используется protobuf base 128 варианта
Простой пример декодирования:
uint64_t DecodeOne(uint8_t * in , size_t * len) {
uint64_t r = 0;
do {
uint64_t val = * in ;
r = (r << 7) | (uint64_t)(val & 127); in ++;
( * len) --;
} while (( * len > 0) && (uint64_t( * in ) & 128));
return r;
}
void DecodeBuffer(uint8_t * buffer, size_t size) {
std::vector < uint8_t > reverseBuffer;
for (size_t i = 1; i <= size; i++) {
reverseBuffer.push_back(buffer[size - i]);
}
size_t tmpSize = size;
uint8_t * reverseData = reverseBuffer.data();
while (tmpSize > 0) {
std::cout << DecodeOne( & reverseData[size - tmpSize], & tmpSize) << " ";
}
std::cout << "\n";
}
mysqlx_get_bytes(row, idx, 0, data, size);
DecodeBuffer(data, size);
std::pair <
const unsigned char * , size_t > res = value.getRawBytes();
DecodeBuffer(res.first, res.second);
Но есть ошибка в CPP API в mysql -connector- cpp -8.0.18.
CPP результат не содержит секунд. Так что можно использовать только c API.