Hi Dmitry,

I can't reproduce the problem. I tried with this program:

   #include <iostream>
   #include <cxxtools/log.h>
   #include <tntdb/connect.h>
   #include <tntdb/transaction.h>
   #include <tntdb/statement.h>

   int main(int argc, char* argv[])
   {
      try
      {
        log_init();
        for (unsigned n = 0; n < 1000; ++n)
        {
          tntdb::Connection conn =
   tntdb::connectCached("mysql:dbname=test");
          tntdb::Transaction trans(conn);

          tntdb::Statement ins = conn.prepare(
            "insert into foo(a, b) values (:a, :b)");
          ins.set("a", 17)
             .set("b", "hello")
             .execute();

          trans.rollback();
        }
      }
      catch (const std::exception& e)
      {
        std::cerr << e.what() << std::endl;
      }
   }


It works fine. I can read in the log:

   2014-01-22 00:40:53.36423 [18903.139766890641216] DEBUG
   tntdb.transaction - rollback transaction
   2014-01-22 00:40:53.36424 [18903.139766890641216] DEBUG
   tntdb.mysql.connection - mysql_rollback(0x14fd530)
   2014-01-22 00:40:53.38789 [18903.139766890641216] DEBUG
   tntdb.mysql.connection - mysql_autocommit(0x14fd530, 1)
   2014-01-22 00:40:53.38798 [18903.139766890641216] DEBUG
   tntdb.mysql.statement - mysql_stmt_close(0x1517a70)
   2014-01-22 00:40:53.38800 [18903.139766890641216] DEBUG
   tntdb.poolconnection - don't reuse connection 0x14fd4f0
   2014-01-22 00:40:53.38801 [18903.139766890641216] DEBUG
   tntdb.mysql.connection - *mysql_close*(0x14fd530)


The mysql_close is important here. It frees the actual database connection correctly. There must be something else wrong.

Tommi
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Tntnet-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tntnet-general

Reply via email to