30 lines
759 B
C++
30 lines
759 B
C++
#ifndef EXECUTABLE_QUERY_HPP
|
|
#define EXECUTABLE_QUERY_HPP
|
|
|
|
#include "query_intermediate.hpp"
|
|
|
|
#include "../../utils/error.hpp"
|
|
#include "../../utils/result.hpp"
|
|
|
|
namespace matador::sql {
|
|
class executor;
|
|
class statement;
|
|
struct query_context;
|
|
}
|
|
|
|
namespace matador::query {
|
|
|
|
class executable_query : public query_intermediate {
|
|
public:
|
|
using query_intermediate::query_intermediate;
|
|
|
|
[[nodiscard]] utils::result<size_t, utils::error> execute(const sql::executor &exec) const;
|
|
[[nodiscard]] utils::result<sql::statement, utils::error> prepare(const sql::executor &exec) const;
|
|
[[nodiscard]] sql::query_context compile(const sql::executor &exec) const;
|
|
[[nodiscard]] std::string str(const sql::executor &exec) const;
|
|
};
|
|
|
|
}
|
|
|
|
#endif //EXECUTABLE_QUERY_HPP
|