//SPDX-FileCopyrightText: 2023 Yury Gubich //SPDX-License-Identifier: GPL-3.0-or-later #pragma once #include #include #include #include #include "mysql.h" namespace DB { class MySQL::Statement { struct STMTDeleter { void operator () (MYSQL_STMT* stmt) { mysql_stmt_close(stmt); }; }; public: Statement(MYSQL* connection, const char* statement); void bind(void* value, enum_field_types type, bool usigned = false); void execute(); std::vector> fetchResult(); private: std::unique_ptr stmt; std::vector param; }; }