summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Linke <christian.linke@bmw.de>2013-06-18 15:06:05 +0200
committerChristian Linke <christian.linke@bmw.de>2013-06-18 15:12:14 +0200
commitd684b6c4744065ef27d37f45043ae61ad3779a13 (patch)
treef6b53803697afecb4ca80a76c446259f4b2a991b
parent71428d042d5e1491345999576073d25af020622f (diff)
downloadaudiomanager-d684b6c4744065ef27d37f45043ae61ad3779a13.tar.gz
* backport fox for bug 69
Signed-off-by: Christian Linke <christian.linke@bmw.de>
-rw-r--r--AudioManagerDaemon/src/CAmDatabaseHandler.cpp5
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;