Merge pull request #517 from cristiantm/enh-sqlite-timeoutProperty

Adding timeout as property on SQLite
This commit is contained in:
Günter Obiltschnig
2014-09-17 19:44:46 +02:00
2 changed files with 17 additions and 0 deletions

View File

@@ -117,6 +117,10 @@ public:
const std::string& connectorName() const; const std::string& connectorName() const;
/// Returns the name of the connector. /// Returns the name of the connector.
protected:
void setConnectionTimeout(const std::string& prop, const Poco::Any& value);
Poco::Any getConnectionTimeout(const std::string& prop);
private: private:
std::string _connector; std::string _connector;
sqlite3* _pDB; sqlite3* _pDB;

View File

@@ -51,6 +51,7 @@ SessionImpl::SessionImpl(const std::string& fileName, std::size_t loginTimeout):
addFeature("autoCommit", addFeature("autoCommit",
&SessionImpl::autoCommit, &SessionImpl::autoCommit,
&SessionImpl::isAutoCommit); &SessionImpl::isAutoCommit);
addProperty("connectionTimeout", &SessionImpl::setConnectionTimeout, &SessionImpl::getConnectionTimeout);
} }
@@ -212,6 +213,18 @@ void SessionImpl::setConnectionTimeout(std::size_t timeout)
} }
void SessionImpl::setConnectionTimeout(const std::string& prop, const Poco::Any& value)
{
setConnectionTimeout(Poco::RefAnyCast<std::size_t>(value));
}
Poco::Any SessionImpl::getConnectionTimeout(const std::string& prop)
{
return Poco::Any(_timeout/1000);
}
void SessionImpl::autoCommit(const std::string&, bool) void SessionImpl::autoCommit(const std::string&, bool)
{ {
// The problem here is to decide whether to call commit or rollback // The problem here is to decide whether to call commit or rollback