11#include " res.h"
2- #include < mysqlx/xdevapi.h >
2+ #include < mariadb++/result_set.hpp >
33
44using namespace intercept ::client;
55
@@ -15,35 +15,43 @@ game_data* createGameDataDBResult(param_archive* ar) {
1515game_value Result::cmd_affectedRows (uintptr_t , game_value_parameter right) {
1616 auto & res = right.get_as <GameDataDBResult>()->res ;
1717
18- return res. getAffectedItemsCount ();
18+ return res-> row_count ();
1919}
2020
2121game_value Result::cmd_lastInsertId (uintptr_t , game_value_parameter right) {
2222 auto & res = right.get_as <GameDataDBResult>()->res ;
2323
24- return res. getAutoIncrementValue ();
24+ return res-> get_last_insert_id ();
2525}
2626
2727game_value Result::cmd_toArray (uintptr_t , game_value_parameter right) {
2828 auto & res = right.get_as <GameDataDBResult>()->res ;
2929 auto_array<game_value> result;
3030
31- for ( auto & it : res) {
31+ while ( res-> next () ) {
3232 auto_array<game_value> row;
3333
34- for (int i = 0 ; i < it.colCount (); ++i) {
35-
36- switch (it.get (i).getType ()) {
37- case mysqlx::Value::VNULL: row.emplace_back (game_value{}); break ;
38- case mysqlx::Value::UINT64: row.emplace_back (it.get (i).get <uint64_t >()); break ;
39- case mysqlx::Value::INT64: row.emplace_back (static_cast <float >(it.get (i).get <int64_t >())); break ;
40- case mysqlx::Value::FLOAT: row.emplace_back (it.get (i).get <float >()); break ;
41- case mysqlx::Value::DOUBLE:row.emplace_back (static_cast <float >(it.get (i).get <double >())); break ;
42- case mysqlx::Value::BOOL: row.emplace_back (it.get (i).get <bool >()); break ;
43- case mysqlx::Value::STRING: row.emplace_back (static_cast <std::string>(it.get (i).get <mysqlx::string>())); break ;
44- case mysqlx::Value::DOCUMENT: break ;
45- case mysqlx::Value::RAW: break ;
46- case mysqlx::Value::ARRAY: break ;
34+ for (int i = 0 ; i < res->column_count (); ++i) {
35+
36+ switch (res->column_type (i)) {
37+ case mariadb::value::null: row.emplace_back (game_value{}); break ;
38+ case mariadb::value::date: row.emplace_back (res->get_string (i)); break ;
39+ case mariadb::value::date_time: row.emplace_back (res->get_string (i)); break ;
40+ case mariadb::value::time: row.emplace_back (res->get_string (i)); break ;
41+ case mariadb::value::string: row.emplace_back (res->get_string (i)); break ;
42+ case mariadb::value::boolean: row.emplace_back (res->get_boolean (i)); break ;
43+ case mariadb::value::decimal: row.emplace_back (res->get_decimal (i).float32 ()); break ;
44+ case mariadb::value::unsigned8: row.emplace_back (res->get_float (i)); break ;
45+ case mariadb::value::signed8: row.emplace_back (res->get_float (i)); break ;
46+ case mariadb::value::unsigned16: row.emplace_back (res->get_float (i)); break ;
47+ case mariadb::value::signed16: row.emplace_back (res->get_float (i)); break ;
48+ case mariadb::value::unsigned32: row.emplace_back (res->get_float (i)); break ;
49+ case mariadb::value::signed32: row.emplace_back (res->get_float (i)); break ;
50+ case mariadb::value::unsigned64: row.emplace_back (res->get_float (i)); break ;
51+ case mariadb::value::signed64: row.emplace_back (res->get_float (i)); break ;
52+ case mariadb::value::float32: row.emplace_back (res->get_float (i)); break ;
53+ case mariadb::value::double64: row.emplace_back (res->get_float (i)); break ;
54+ case mariadb::value::enumeration: row.emplace_back (res->get_string (i)); break ;
4755 default : ;
4856 }
4957 }
0 commit comments