ClickHouse/base/mysqlxx/StoreQueryResult.cpp

31 lines
747 B
C++
Raw Normal View History

#if __has_include(<mysql.h>)
#include <mysql.h>
#else
#include <mysql/mysql.h>
#endif
2011-03-03 19:57:34 +00:00
#include <mysqlxx/Connection.h>
#include <mysqlxx/StoreQueryResult.h>
namespace mysqlxx
{
2011-04-28 20:20:27 +00:00
StoreQueryResult::StoreQueryResult(MYSQL_RES * res_, Connection * conn_, const Query * query_) : ResultBase(res_, conn_, query_)
2011-03-03 19:57:34 +00:00
{
UInt64 rows = mysql_num_rows(res);
reserve(rows);
2020-05-09 23:31:44 +00:00
lengths.resize(rows * num_fields);
for (UInt64 i = 0; MYSQL_ROW row = mysql_fetch_row(res); ++i)
{
MYSQL_LENGTHS lengths_for_row = mysql_fetch_lengths(res);
2020-05-09 23:31:44 +00:00
memcpy(&lengths[i * num_fields], lengths_for_row, sizeof(lengths[0]) * num_fields);
2020-05-09 23:31:44 +00:00
push_back(Row(row, this, &lengths[i * num_fields]));
}
checkError(conn->getDriver());
2011-03-03 19:57:34 +00:00
}
2011-03-03 19:57:34 +00:00
}