From 456a41094624c12845554ae6f5528fa4cb82bbdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sascha=20K=C3=BChl?= Date: Wed, 7 Jan 2026 09:07:05 +0100 Subject: [PATCH] added type traits for timestamp --- include/matador/utils/default_type_traits.hpp | 9 ++++++++- source/core/utils/default_type_traits.cpp | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/include/matador/utils/default_type_traits.hpp b/include/matador/utils/default_type_traits.hpp index 36f76c0..b16f19d 100644 --- a/include/matador/utils/default_type_traits.hpp +++ b/include/matador/utils/default_type_traits.hpp @@ -131,7 +131,7 @@ struct data_type_traits { }; template<> -struct data_type_traits { +struct data_type_traits { static basic_type type(std::size_t /*size*/) { return basic_type::Blob; } static void read_value(attribute_reader &reader, const char *id, size_t index, utils::blob &value, size_t /*size*/ = 0); static void bind_value(attribute_writer &binder, size_t index, utils::blob &value, size_t /*size*/ = 0); @@ -151,6 +151,13 @@ struct data_type_traits { static void bind_value(attribute_writer &binder, size_t index, time_type_t &value); }; +template<> +struct data_type_traits { + static basic_type type(std::size_t /*size*/) { return basic_type::DateTime; } + static void read_value(attribute_reader &reader, const char *id, size_t index, timestamp &value); + static void bind_value(attribute_writer &binder, size_t index, timestamp &value); +}; + template struct data_type_traits > > { static basic_type type(std::size_t /*size*/ = 0) { return basic_type::Int32; } diff --git a/source/core/utils/default_type_traits.cpp b/source/core/utils/default_type_traits.cpp index 27c8a4d..815cfb7 100644 --- a/source/core/utils/default_type_traits.cpp +++ b/source/core/utils/default_type_traits.cpp @@ -147,4 +147,11 @@ void data_type_traits::bind_value(attribute_writer &binder, const s binder.write_value(index, value); } -} \ No newline at end of file +void data_type_traits::read_value(attribute_reader &reader, const char *id, const size_t index, timestamp &value) { + reader.read_value(id, index, value); +} + +void data_type_traits::bind_value(attribute_writer &binder, const size_t index, timestamp &value) { + binder.write_value(index, value); +} +}