removed namespace interface

This commit is contained in:
Sascha Kühl
2025-08-11 16:59:16 +02:00
parent 2e2fcd01b6
commit 789be1174b
12 changed files with 247 additions and 101 deletions
@@ -3,7 +3,7 @@
#include "matador/utils/attribute_writer.hpp"
namespace matador::sql::interface {
namespace matador::sql {
using parameter_binder = utils::attribute_writer;
@@ -22,23 +22,23 @@ protected:
public:
virtual ~statement_impl() = default;
virtual utils::result<size_t, utils::error> execute(const interface::parameter_binder& bindings) = 0;
virtual utils::result<std::unique_ptr<query_result_impl>, utils::error> fetch(const interface::parameter_binder& bindings) = 0;
virtual utils::result<size_t, utils::error> execute(const parameter_binder& bindings) = 0;
virtual utils::result<std::unique_ptr<query_result_impl>, utils::error> fetch(const parameter_binder& bindings) = 0;
template < class Type >
void bind_object(Type &obj, interface::parameter_binder& bindings) {
void bind_object(Type &obj, parameter_binder& bindings) {
object_parameter_binder object_binder_;
object_binder_.reset(start_index());
object_binder_.bind(obj, bindings);
}
template < class Type >
void bind(const size_t pos, Type &val, interface::parameter_binder& bindings) {
void bind(const size_t pos, Type &val, parameter_binder& bindings) {
utils::data_type_traits<Type>::bind_value(bindings, adjust_index(pos), val);
}
void bind(size_t pos, const char *value, size_t size, interface::parameter_binder& bindings) const;
void bind(size_t pos, std::string &val, size_t size, interface::parameter_binder& bindings) const;
void bind(size_t pos, const char *value, size_t size, parameter_binder& bindings) const;
void bind(size_t pos, std::string &val, size_t size, parameter_binder& bindings) const;
virtual void reset() = 0;
@@ -12,19 +12,19 @@ protected:
public:
virtual ~statement_proxy() = default;
virtual utils::result<size_t, utils::error> execute(interface::parameter_binder& bindings) = 0;
virtual utils::result<std::unique_ptr<query_result_impl>, utils::error> fetch(interface::parameter_binder& bindings) = 0;
virtual utils::result<size_t, utils::error> execute(parameter_binder& bindings) = 0;
virtual utils::result<std::unique_ptr<query_result_impl>, utils::error> fetch(parameter_binder& bindings) = 0;
template<class Type>
void bind(const Type &obj, interface::parameter_binder& bindings) {
void bind(const Type &obj, parameter_binder& bindings) {
statement_->bind_object(obj, bindings);
}
template<typename Type>
void bind(size_t pos, Type &value, interface::parameter_binder& bindings) {
void bind(size_t pos, Type &value, parameter_binder& bindings) {
statement_->bind(pos, value, bindings);
}
void bind(size_t pos, const char *value, size_t size, interface::parameter_binder& bindings) const;
void bind(size_t pos, std::string &val, size_t size, interface::parameter_binder& bindings) const;
void bind(size_t pos, const char *value, size_t size, parameter_binder& bindings) const;
void bind(size_t pos, std::string &val, size_t size, parameter_binder& bindings) const;
void reset() const;
+13
View File
@@ -23,6 +23,19 @@ struct statement_accessed_event : statement_event {};
struct statement_added_event : statement_event {};
struct statement_evicted_event : statement_event {};
struct statement_lock_failed_event : statement_event {
std::chrono::steady_clock::time_point lock_attempt_start;
};
struct statement_lock_acquired_event : statement_event {
std::chrono::steady_clock::time_point lock_attempt_start;
std::chrono::steady_clock::time_point lock_attempt_end;
};
struct statement_execution_event : statement_event {
std::chrono::steady_clock::time_point execution_start;
std::chrono::steady_clock::time_point execution_end;
};
struct statement_cache_config {
size_t max_size;