added test for date and time, sql read and write functionality
This commit is contained in:
@@ -127,28 +127,24 @@ void data_type_traits<blob>::read_value(attribute_reader &reader, const char *id
|
||||
reader.read_value(id, index, value);
|
||||
}
|
||||
|
||||
void data_type_traits<blob>::bind_value(attribute_writer &binder, const size_t index, utils::blob &value, const size_t /*size*/) {
|
||||
void data_type_traits<blob>::bind_value(attribute_writer &binder, const size_t index, blob &value, const size_t /*size*/) {
|
||||
binder.write_value(index, value);
|
||||
}
|
||||
|
||||
// void data_type_traits<matador::date>::read_value(attribute_reader &reader, const char *id, size_t index, date &value)
|
||||
// {
|
||||
// reader.read_value(id, index, value);
|
||||
// }
|
||||
//
|
||||
// void data_type_traits<matador::date>::bind_value(attribute_writer &binder, size_t index, date &value)
|
||||
// {
|
||||
// binder.write_value(index, value);
|
||||
// }
|
||||
//
|
||||
// void data_type_traits<matador::time>::read_value(attribute_reader &reader, const char *id, size_t index, time &value)
|
||||
// {
|
||||
// reader.read_value(id, index, value);
|
||||
// }
|
||||
//
|
||||
// void data_type_traits<matador::time>::bind_value(attribute_writer &binder, size_t index, time &value)
|
||||
// {
|
||||
// binder.write_value(index, value);
|
||||
// }
|
||||
void data_type_traits<date_type_t>::read_value(attribute_reader &reader, const char *id, size_t index, date_type_t &value) {
|
||||
reader.read_value(id, index, value);
|
||||
}
|
||||
|
||||
void data_type_traits<date_type_t>::bind_value(attribute_writer &binder, const size_t index, date_type_t &value) {
|
||||
binder.write_value(index, value);
|
||||
}
|
||||
|
||||
void data_type_traits<time_type_t>::read_value(attribute_reader &reader, const char *id, size_t index, time_type_t &value) {
|
||||
reader.read_value(id, index, value);
|
||||
}
|
||||
|
||||
void data_type_traits<time_type_t>::bind_value(attribute_writer &binder, const size_t index, time_type_t &value) {
|
||||
binder.write_value(index, value);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -18,6 +18,24 @@ std::string to_string(const blob& data) {
|
||||
return str;
|
||||
}
|
||||
|
||||
std::string to_string(const date_type_t &data) {
|
||||
char buf[11]; // "YYYY-MM-DD" + '\0'
|
||||
|
||||
std::snprintf(buf, sizeof(buf), "%04d-%02u-%02u",
|
||||
data.year, static_cast<unsigned>(data.month), static_cast<unsigned>(data.day));
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
std::string to_string(const time_type_t &data) {
|
||||
char buf[16]; // "HH:MM:SS.ffffff" + '\0'
|
||||
|
||||
std::snprintf(buf, sizeof(buf), "%02u:%02u:%02u.%06u",
|
||||
static_cast<unsigned>(data.hour), static_cast<unsigned>(data.minute), static_cast<unsigned>(data.second), data.microsecond);
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
size_t split(const std::string &str, char delim, std::vector<std::string> &values)
|
||||
{
|
||||
std::stringstream ss(str);
|
||||
|
||||
Reference in New Issue
Block a user