getConnectionTimeout of SQLite DB wrapper returns wrong value (in milliseconds, should be in seconds) #1729

This commit is contained in:
Alex Fabijanic 2017-10-12 20:42:51 -05:00
parent 896c1ad016
commit e073f20f3a
3 changed files with 7 additions and 2 deletions

View File

@ -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<std::size_t>(_timeout);
return static_cast<std::size_t>(_timeout/1000);
}

View File

@ -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,

View File

@ -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");