From 49148af30f42baf101e32581c48acdf4540b6442 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 10 Sep 2010 12:58:24 +0200 Subject: Allow the test to specify max number of connections Use this in common/threads. --- libcommon/common/common.cxx | 12 ++++++++++-- libcommon/common/common.hxx | 5 +++-- 2 files changed, 13 insertions(+), 4 deletions(-) (limited to 'libcommon/common') diff --git a/libcommon/common/common.cxx b/libcommon/common/common.cxx index d68d579..960a946 100644 --- a/libcommon/common/common.cxx +++ b/libcommon/common/common.cxx @@ -12,6 +12,7 @@ #ifdef DB_ID_MYSQL # include +# include #endif #include @@ -21,7 +22,7 @@ using namespace std; using namespace odb; auto_ptr -create_database (int argc, char* argv[]) +create_database (int argc, char* argv[], size_t max_connections) { #ifdef DB_ID_MYSQL cli::argv_file_scanner scan (argc, argv, "--options-file"); @@ -35,6 +36,11 @@ create_database (int argc, char* argv[]) exit (0); } + auto_ptr f; + + if (max_connections != 0) + f.reset (new mysql::connection_pool_factory (max_connections)); + return auto_ptr ( new mysql::database ( ops.user (), @@ -42,7 +48,9 @@ create_database (int argc, char* argv[]) ops.db_name (), ops.host (), ops.port (), - ops.socket_specified () ? &ops.socket () : 0)); + ops.socket_specified () ? &ops.socket () : 0, + 0, + f)); #else return auto_ptr (0); #endif diff --git a/libcommon/common/common.hxx b/libcommon/common/common.hxx index 87b08f0..57069dc 100644 --- a/libcommon/common/common.hxx +++ b/libcommon/common/common.hxx @@ -6,13 +6,14 @@ #ifndef LIBCOMMON_COMMON_COMMON_HXX #define LIBCOMMON_COMMON_COMMON_HXX -#include // std::auto_ptr +#include // std::auto_ptr +#include // std::size_t #include #include LIBCOMMON_EXPORT std::auto_ptr -create_database (int argc, char* argv[]); +create_database (int argc, char* argv[], std::size_t max_connections = 0); #endif // LIBCOMMON_COMMON_COMMON_HXX -- cgit v1.1