summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/SqlDB/SqlDB.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2012-08-29 18:57:45 -0400
committerBernard Normier <bernard@zeroc.com>2012-08-29 18:57:45 -0400
commit3a3d3f7d07b2348522b23baf1aeacd71dfdcfe3f (patch)
treec5ae055fea31e594c62ea3e73866c238c2f92679 /cpp/src/IceGrid/SqlDB/SqlDB.cpp
parentC# makefile fixes (diff)
downloadice-3a3d3f7d07b2348522b23baf1aeacd71dfdcfe3f.tar.bz2
ice-3a3d3f7d07b2348522b23baf1aeacd71dfdcfe3f.tar.xz
ice-3a3d3f7d07b2348522b23baf1aeacd71dfdcfe3f.zip
Cleaned up code, fixed encoding in SqlDB, renamed DatabaseCache to ConnectionPool
Diffstat (limited to 'cpp/src/IceGrid/SqlDB/SqlDB.cpp')
-rw-r--r--cpp/src/IceGrid/SqlDB/SqlDB.cpp67
1 files changed, 36 insertions, 31 deletions
diff --git a/cpp/src/IceGrid/SqlDB/SqlDB.cpp b/cpp/src/IceGrid/SqlDB/SqlDB.cpp
index ac84041e365..06c2ea9a258 100644
--- a/cpp/src/IceGrid/SqlDB/SqlDB.cpp
+++ b/cpp/src/IceGrid/SqlDB/SqlDB.cpp
@@ -87,17 +87,17 @@ public:
}
-SqlDatabaseCache::SqlDatabaseCache(const Ice::CommunicatorPtr& communicator,
- const string& databaseType,
- const string& databaseName,
- const string& hostname,
- int port,
- const string& username,
- const string& password,
- const string& tablePrefix,
- const string& encoding) :
- SqlDB::DatabaseCache(communicator, databaseType, databaseName, hostname, port, username, password, true,
- Ice::stringToEncodingVersion(encoding))
+SqlConnectionPool::SqlConnectionPool(const Ice::CommunicatorPtr& communicator,
+ const string& databaseType,
+ const string& databaseName,
+ const string& hostname,
+ int port,
+ const string& username,
+ const string& password,
+ const string& tablePrefix,
+ const string& encoding) :
+ SqlDB::ConnectionPool(communicator, databaseType, databaseName, hostname, port, username, password, true,
+ Ice::stringToEncodingVersion(encoding))
{
IceDB::DatabaseConnectionPtr connection = getConnection();
IceDB::TransactionHolder txn(connection);
@@ -116,30 +116,30 @@ SqlDatabaseCache::SqlDatabaseCache(const Ice::CommunicatorPtr& communicator,
txn.commit();
}
-SqlDatabaseCache::~SqlDatabaseCache()
+SqlConnectionPool::~SqlConnectionPool()
{
}
ApplicationsWrapperPtr
-SqlDatabaseCache::getApplications(const IceDB::DatabaseConnectionPtr& connection)
+SqlConnectionPool::getApplications(const IceDB::DatabaseConnectionPtr& connection)
{
return new SqlApplicationsWrapper(SqlDB::DatabaseConnectionPtr::dynamicCast(connection.get()), _applications);
}
AdaptersWrapperPtr
-SqlDatabaseCache::getAdapters(const IceDB::DatabaseConnectionPtr& connection)
+SqlConnectionPool::getAdapters(const IceDB::DatabaseConnectionPtr& connection)
{
return new SqlAdaptersWrapper(SqlDB::DatabaseConnectionPtr::dynamicCast(connection.get()), _adapters);
}
ObjectsWrapperPtr
-SqlDatabaseCache::getObjects(const IceDB::DatabaseConnectionPtr& connection)
+SqlConnectionPool::getObjects(const IceDB::DatabaseConnectionPtr& connection)
{
return new SqlObjectsWrapper(SqlDB::DatabaseConnectionPtr::dynamicCast(connection.get()), _objects);
}
ObjectsWrapperPtr
-SqlDatabaseCache::getInternalObjects(const IceDB::DatabaseConnectionPtr& connection)
+SqlConnectionPool::getInternalObjects(const IceDB::DatabaseConnectionPtr& connection)
{
return new SqlObjectsWrapper(SqlDB::DatabaseConnectionPtr::dynamicCast(connection.get()), _internalObjects);
}
@@ -214,20 +214,25 @@ SqlDBPlugin::initialize()
replace(tablePrefix.begin(), tablePrefix.end(), ';', '_');
}
- _databaseCache = new SqlDatabaseCache(_communicator,
- properties->getProperty("IceGrid.SQL.DatabaseType"),
- databaseName,
- properties->getProperty("IceGrid.SQL.HostName"),
- properties->getPropertyAsInt("IceGrid.SQL.Port"),
- properties->getProperty("IceGrid.SQL.UserName"),
- properties->getProperty("IceGrid.SQL.Password"),
- tablePrefix,
- properties->getProperty("IceGrid.SQL.EncodingVersion"));
+ string encodingVersionString =
+ properties->getPropertyWithDefault("IceGrid.SQL.EncodingVersion",
+ encodingVersionToString(Ice::currentEncoding));
+
+
+ _connectionPool = new SqlConnectionPool(_communicator,
+ properties->getProperty("IceGrid.SQL.DatabaseType"),
+ databaseName,
+ properties->getProperty("IceGrid.SQL.HostName"),
+ properties->getPropertyAsInt("IceGrid.SQL.Port"),
+ properties->getProperty("IceGrid.SQL.UserName"),
+ properties->getProperty("IceGrid.SQL.Password"),
+ tablePrefix,
+ encodingVersionString);
SqlDB::ThreadHookPtr threadHook =
SqlDB::ThreadHookPtr::dynamicCast(IceInternal::getInstance(_communicator)->initializationData().threadHook);
assert(threadHook);
- threadHook->setDatabaseCache(_databaseCache);
+ threadHook->setConnectionPool(_connectionPool);
}
void
@@ -240,13 +245,13 @@ SqlDBPlugin::destroy()
SqlDB::ThreadHookPtr threadHook =
SqlDB::ThreadHookPtr::dynamicCast(IceInternal::getInstance(_communicator)->initializationData().threadHook);
assert(threadHook);
- threadHook->setDatabaseCache(0);
+ threadHook->setConnectionPool(0);
- _databaseCache = 0;
+ _connectionPool = 0;
}
-DatabaseCachePtr
-SqlDBPlugin::getDatabaseCache()
+ConnectionPoolPtr
+SqlDBPlugin::getConnectionPool()
{
- return _databaseCache;
+ return _connectionPool;
}