Hi Folks,

 I am currently working on a c++11 asio based async connector for mariadb. The 
library takes advantage of mariadb’s async interface (mysql_*_start, 
mysql_*_cont functions). The whole point would be to prevent blocking in mysql 
operations and make operations cancellable via a reasonable interface.

Some example code:

TEST_CASE("tmp3") {
    init_db();
    asio::io_service io;
    amdb::connector conn(io);
    bool saved = false;

    entity e(42, 3.14, "our entity");
    amdb::auth_info auth("root");

    conn.async_connect(amdb::null_endpoint, "edbtest", auth, 
amdb::default_flags, [&] (const std::error_code& ec) {
        REQUIRE(!ec);
        conn.async_write_entity(e, [&] (const std::error_code &ec) {
            INFO(ec);
            REQUIRE(!ec);

            if (!ec) {
                saved = true;
            }
            io.stop();
        });
    });
    io.run();
    REQUIRE(saved);
}


async_write_entity() is an extra feature of the lib, which is generating an sql 
“batch” of prepared statements to persist hierarchical objects and executes 
that batch.

Unfortunately I am receiving an error 2006 from my very first 
mysql_stmt_prepare call. This error roughly translates to "connection to mysql 
server is gone”. I cannot really spot the issue with my operation, could 
someone give me a hint about this error (typical causes, what to check, etc 
etc.)? I am a bit clueless here how to tackle this problem.

Since the batch generation/execution code is a bit convoluted and complex, i 
would not paste it here now, but if someone can point me in the right direction 
i can share relevant parts.

Thanks in advance
 Andras

-- 
András Szabó
Sent with Airmail
_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to