query/src/sql/statement.cpp

40 lines
779 B
C++

#include "matador/sql/statement.hpp"
namespace matador::sql {
statement::statement(std::unique_ptr<statement_impl> impl, const utils::logger &logger)
: statement_(std::move(impl))
, logger_(logger)
, object_binder_(statement_->binder())
{}
statement &statement::bind(size_t pos, const char *value)
{
statement_->bind(pos, value, 0);
return *this;
}
statement &statement::bind(size_t pos, std::string &val, size_t size)
{
statement_->bind(pos, val, size);
return *this;
}
size_t statement::execute()
{
logger_.info(statement_->query_.sql);
return statement_->execute();
}
query_result<record> statement::fetch()
{
logger_.info(statement_->query_.sql);
return query_result<record>(statement_->fetch());
}
void statement::reset()
{
statement_->reset();
}
}