diff options
author | Christian Linke <christian.linke@bmw.de> | 2013-06-18 15:06:05 +0200 |
---|---|---|
committer | Christian Linke <christian.linke@bmw.de> | 2013-06-18 15:12:14 +0200 |
commit | d684b6c4744065ef27d37f45043ae61ad3779a13 (patch) | |
tree | f6b53803697afecb4ca80a76c446259f4b2a991b | |
parent | 71428d042d5e1491345999576073d25af020622f (diff) | |
download | audiomanager-d684b6c4744065ef27d37f45043ae61ad3779a13.tar.gz |
* backport fox for bug 69
Signed-off-by: Christian Linke <christian.linke@bmw.de>
-rw-r--r-- | AudioManagerDaemon/src/CAmDatabaseHandler.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/AudioManagerDaemon/src/CAmDatabaseHandler.cpp b/AudioManagerDaemon/src/CAmDatabaseHandler.cpp index 3de9f51..03d3939 100644 --- a/AudioManagerDaemon/src/CAmDatabaseHandler.cpp +++ b/AudioManagerDaemon/src/CAmDatabaseHandler.cpp @@ -181,11 +181,13 @@ am_Error_e CAmDatabaseHandler::enterDomainDB(const am_Domain_s & domainData, am_ //first check for a reserved domain sqlite3_stmt* query = NULL; int eCode = 0; + domainID = 0; std::string command = "SELECT domainID FROM " + std::string(DOMAIN_TABLE) + " WHERE name=?"; MY_SQLITE_PREPARE_V2(mpDatabase, command.c_str(), -1, &query, NULL) MY_SQLITE_BIND_TEXT(query, 1, domainData.name.c_str(), domainData.name.size(), SQLITE_STATIC) if ((eCode = sqlite3_step(query)) == SQLITE_ROW) { + domainID = sqlite3_column_int(query, 0); command = "UPDATE " + std::string(DOMAIN_TABLE) + " SET name=?, busname=?, nodename=?, early=?, complete=?, state=?, reserved=? WHERE domainID=" + i2s(sqlite3_column_int(query, 0)); } else if (eCode == SQLITE_DONE) @@ -218,7 +220,8 @@ am_Error_e CAmDatabaseHandler::enterDomainDB(const am_Domain_s & domainData, am_ } MY_SQLITE_FINALIZE(query) - domainID = sqlite3_last_insert_rowid(mpDatabase); + if (domainID==0) + domainID = sqlite3_last_insert_rowid(mpDatabase); logInfo("DatabaseHandler::enterDomainDB entered new domain with name=", domainData.name, "busname=", domainData.busname, "nodename=", domainData.nodename, "assigned ID:", domainID); am_Domain_s domain = domainData; |