summaryrefslogtreecommitdiff
path: root/src/dal/pqdataprovider.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dal/pqdataprovider.cpp')
-rw-r--r--src/dal/pqdataprovider.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/dal/pqdataprovider.cpp b/src/dal/pqdataprovider.cpp
index 3fa8db45..dd91f276 100644
--- a/src/dal/pqdataprovider.cpp
+++ b/src/dal/pqdataprovider.cpp
@@ -20,30 +20,39 @@
* $Id$
*/
+
#include "pqdataprovider.h"
+
namespace tmwserv
{
namespace dal
{
+
/**
* Constructor
*/
PqDataProvider::PqDataProvider(void)
throw()
+ : mDb(0)
{
+ // NOOP
}
+
/**
* Destructor
*/
PqDataProvider::~PqDataProvider(void)
throw()
{
- disconnect();
+ if (mIsConnected) {
+ disconnect();
+ }
}
+
/**
* Get the database backend name.
*/
@@ -54,6 +63,7 @@ PqDataProvider::getDbBackend(void) const
return DB_BKEND_POSTGRESQL;
}
+
/**
* Create a connection to the database.
*/
@@ -82,6 +92,7 @@ PqDataProvider::connect(const std::string& dbName,
mIsConnected = true;
}
+
/**
* Execute a SQL query.
*/
@@ -131,6 +142,7 @@ PqDataProvider::execSql(const std::string& sql,
}
}
+
/**
* Close connection to database.
*/
@@ -141,11 +153,13 @@ PqDataProvider::disconnect(void)
return;
}
- // finish up with Postgre
+ // finish up with Postgre.
PQfinish(mDb);
+ mDb = 0;
mIsConnected = false;
}
+
} // namespace dal
} // namespace tmwserv