diff --git a/Data/SQLite/include/Poco/Data/SQLite/SessionImpl.h b/Data/SQLite/include/Poco/Data/SQLite/SessionImpl.h index 1fad10a16..82dd85ba8 100644 --- a/Data/SQLite/include/Poco/Data/SQLite/SessionImpl.h +++ b/Data/SQLite/include/Poco/Data/SQLite/SessionImpl.h @@ -73,10 +73,12 @@ public: void setConnectionTimeout(std::size_t timeout); /// Sets the session connection timeout value. + /// Timeout value is in seconds. /// Throws RangeException if the timeout value is overflow. std::size_t getConnectionTimeout(); /// Returns the session connection timeout value. + /// Timeout value is in seconds. void begin(); /// Starts a transaction. @@ -157,7 +159,7 @@ inline const std::string& SessionImpl::connectorName() const inline std::size_t SessionImpl::getConnectionTimeout() { - return static_cast(_timeout); + return static_cast(_timeout/1000); } diff --git a/Data/SQLite/src/SessionImpl.cpp b/Data/SQLite/src/SessionImpl.cpp index 6c26a5404..0d08c6161 100644 --- a/Data/SQLite/src/SessionImpl.cpp +++ b/Data/SQLite/src/SessionImpl.cpp @@ -54,7 +54,7 @@ SessionImpl::SessionImpl(const std::string& fileName, std::size_t loginTimeout): _isTransaction(false) { open(); - setConnectionTimeout(CONNECTION_TIMEOUT_DEFAULT); + setConnectionTimeout(loginTimeout); setProperty("handle", _pDB); addFeature("autoCommit", &SessionImpl::autoCommit, diff --git a/Data/SQLite/testsuite/src/SQLiteTest.cpp b/Data/SQLite/testsuite/src/SQLiteTest.cpp index 2bba8ddf6..94186eabc 100644 --- a/Data/SQLite/testsuite/src/SQLiteTest.cpp +++ b/Data/SQLite/testsuite/src/SQLiteTest.cpp @@ -255,6 +255,9 @@ SQLiteTest::~SQLiteTest() void SQLiteTest::testBinding() { Session tmp (Poco::Data::SQLite::Connector::KEY, "dummy.db"); + assert (tmp.getConnectionTimeout() == Session::LOGIN_TIMEOUT_DEFAULT); + tmp.setConnectionTimeout(5); + assert (tmp.getConnectionTimeout() == 5); assert (tmp.isConnected()); std::string tableName("Simpsons"); std::string lastName("Simpson");