introduced field_attributes shortcuts and added method on_base() to all processor classes
This commit is contained in:
@@ -44,6 +44,8 @@ public:
|
||||
return columns;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template < class V >
|
||||
void on_primary_key(const char *id, V &, const utils::primary_key_attribute& /*attr*/) {
|
||||
if (has_many_to_many_) {
|
||||
|
||||
@@ -22,6 +22,8 @@ public:
|
||||
return identifier_;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *id, ValueType &value, const utils::primary_key_attribute& attr) {
|
||||
utils::data_type_traits<ValueType>::read_value(reader_, id, column_index_, value, attr.size());
|
||||
|
||||
@@ -27,6 +27,8 @@ public:
|
||||
binder_ = nullptr;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *id, ValueType &value, const utils::primary_key_attribute& attr);
|
||||
static void on_revision(const char * /*id*/, uint64_t &/*rev*/) {}
|
||||
@@ -73,6 +75,8 @@ public:
|
||||
|
||||
void reset();
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template < class Type >
|
||||
void on_primary_key(const char *id, Type &val, const utils::primary_key_attribute& attr) {
|
||||
utils::data_type_traits<Type>::read_value(*binder_, id, index_++, val, attr.size());
|
||||
|
||||
@@ -14,6 +14,8 @@ public:
|
||||
access::process(*this, obj);
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *id, ValueType &value, const utils::primary_key_attribute& attr);
|
||||
void on_revision(const char * /*id*/, uint64_t &/*rev*/) {
|
||||
|
||||
@@ -40,6 +40,8 @@ public:
|
||||
const std::type_index& result_type,
|
||||
size_t column_index = 0);
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *id, ValueType &value, const utils::primary_key_attribute& attr) {
|
||||
utils::data_type_traits<ValueType>::read_value(*reader_, id, column_index_++, value, attr.size());
|
||||
|
||||
@@ -27,6 +27,8 @@ public:
|
||||
return pk_;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *id, ValueType &/*value*/, const utils::primary_key_attribute& attr) {
|
||||
if (!type_stack_.empty()) {
|
||||
|
||||
@@ -17,6 +17,8 @@ public:
|
||||
void reset(size_t start_index);
|
||||
[[nodiscard]] size_t current_index() const;
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template < class Type >
|
||||
void on_primary_key(const char * /*id*/, Type &val, const utils::primary_key_attribute& attr) {
|
||||
utils::data_type_traits<Type>::bind_value(*binder_, index_++, val, attr.size());
|
||||
|
||||
@@ -19,6 +19,8 @@ public:
|
||||
binder_ = nullptr;
|
||||
}
|
||||
|
||||
template<typename BaseType>
|
||||
static void on_base(const BaseType&) {}
|
||||
template<typename ValueType>
|
||||
void on_primary_key(const char *id, ValueType &value, const utils::primary_key_attribute& attr);
|
||||
static void on_revision(const char * /*id*/, unsigned long long &/*rev*/) {}
|
||||
|
||||
Reference in New Issue
Block a user