]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[3882a] Added new getDBVersion() class method
authorFrancis Dupont <fdupont@isc.org>
Fri, 19 Jun 2015 12:30:51 +0000 (14:30 +0200)
committerFrancis Dupont <fdupont@isc.org>
Fri, 19 Jun 2015 12:30:51 +0000 (14:30 +0200)
src/lib/dhcpsrv/lease_mgr.cc
src/lib/dhcpsrv/lease_mgr.h
src/lib/dhcpsrv/memfile_lease_mgr.cc
src/lib/dhcpsrv/memfile_lease_mgr.h
src/lib/dhcpsrv/mysql_lease_mgr.cc
src/lib/dhcpsrv/mysql_lease_mgr.h
src/lib/dhcpsrv/pgsql_lease_mgr.cc
src/lib/dhcpsrv/pgsql_lease_mgr.h

index 2190f42da0eec65e76833f8ed44dc38772e33439..57b64f0dfecdd1dfb580a1ba44b41a8db75f96e1 100644 (file)
@@ -61,5 +61,10 @@ LeaseMgr::getLease6(Lease::Type type, const DUID& duid,
     return (*col.begin());
 }
 
+std::string
+LeaseMgr::getDBVersion() {
+    isc_throw(NotImplemented, "LeaseMgr::getDBVersion() called");
+}
+
 } // namespace isc::dhcp
 } // namespace isc
index 7b0674d11eebbe4f9b0dc2cfcc559f945b2731a9..edacec1c571e51926caa0b421ff12a8b14c2354d 100644 (file)
@@ -152,6 +152,10 @@ public:
     virtual ~LeaseMgr()
     {}
 
+    /// @brief Class method to return extended version info
+    /// This class method must be redeclared and redefined in derived classes
+    static std::string getDBVersion();
+
     /// @brief Adds an IPv4 lease.
     ///
     /// @param lease lease to be added
index 470336152607acc0924b1ed24d7201de9c2d3a8b..631edf1eaacfaad65bfb8c37506531fde1f95975 100644 (file)
@@ -265,6 +265,14 @@ Memfile_LeaseMgr::~Memfile_LeaseMgr() {
     }
 }
 
+std::string
+Memfile_LeaseMgr::getDBVersion() {
+    std::stringstream tmp;
+    tmp << "Memfile backend " << MAJOR_VERSION;
+    tmp << "." << MINOR_VERSION;
+    return (tmp.str());
+}
+
 bool
 Memfile_LeaseMgr::addLease(const Lease4Ptr& lease) {
     LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE_DETAIL,
index 75a9089fc5506b809c520fde4332ab6c5162cde8..053b13ce665ef6ea42e75740b20a1b700004456e 100644 (file)
@@ -134,6 +134,9 @@ public:
     /// @brief Destructor (closes file)
     virtual ~Memfile_LeaseMgr();
 
+    /// @brief Local version of getDBVersion() class method
+    static std::string getDBVersion();
+
     /// @brief Adds an IPv4 lease.
     ///
     /// @param lease lease to be added
index 34f91bdf019594610f055ed819667c7f542de7e5..40d756583720e92596d018c8add342fb031d58aa 100644 (file)
@@ -1265,6 +1265,15 @@ MySqlLeaseMgr::~MySqlLeaseMgr() {
     // closed in the destructor of the mysql_ member variable.
 }
 
+std::string
+MySqlLeaseMgr::getDBVersion() {
+    std::stringstream tmp;
+    tmp << "MySQL backend " << CURRENT_VERSION_VERSION;
+    tmp << "." << CURRENT_VERSION_MINOR;
+    tmp << " library " << mysql_get_client_info();
+    return (tmp.str());
+}
+
 
 // Time conversion methods.
 //
index 9845e6f82d75eca76ee2fb6eac0e112c6f7565ca..66dbbe1f2c8d8432ca64430b56386b639b8c4e43 100644 (file)
@@ -122,6 +122,9 @@ public:
     /// @brief Destructor (closes database)
     virtual ~MySqlLeaseMgr();
 
+    /// @brief Local version of getDBVersion() class method
+    static std::string getDBVersion();
+
     /// @brief Adds an IPv4 lease
     ///
     /// @param lease lease to be added
index da41047618e469212de56a6a9a7ae8cdb1c52700..629cef4011c7cddaa688e2e58821cdcfae19bb63 100644 (file)
@@ -965,6 +965,15 @@ PgSqlLeaseMgr::~PgSqlLeaseMgr() {
     }
 }
 
+std::string
+PgSqlLeaseMgr::getDBVersion() {
+    std::stringstream tmp;
+    tmp << "PostgreSQL backend " << PG_CURRENT_VERSION;
+    tmp << "." << PG_CURRENT_MINOR;
+    tmp << " library " << PQlibVersion();
+    return (tmp.str());
+}
+
 void
 PgSqlLeaseMgr::prepareStatements() {
     for(int i = 0; tagged_statements[i].text != NULL; ++ i) {
index 8b53f293d35e48ce1695317170709dd2d6e0f7ee..9df59a515e695d6cfb64845d533d00e1a759b102 100644 (file)
@@ -151,6 +151,9 @@ public:
     /// @brief Destructor (closes database)
     virtual ~PgSqlLeaseMgr();
 
+    /// @brief Local version of getDBVersion() class method
+    static std::string getDBVersion();
+
     /// @brief Adds an IPv4 lease
     ///
     /// @param lease lease to be added