Commit 2db954f9 authored by Vinogradov Aleksei's avatar Vinogradov Aleksei

PostgreSQLInterface: Добавил возможность прервать запрос

parent b8c2e0ae
......@@ -129,6 +129,7 @@ bool PostgreSQLInterface::insert( const string& q )
try
{
work w( *(db.get()) );
lastQ = q;
w.exec(q);
w.commit();
return true;
......@@ -155,6 +156,7 @@ bool PostgreSQLInterface::insertAndSaveRowid( const string& q )
try
{
work w( *(db.get()) );
lastQ = q;
pqxx::result res = w.exec(qplus);
w.commit();
save_inserted_id(res);
......@@ -176,8 +178,9 @@ DBResult PostgreSQLInterface::query( const string& q )
try
{
nontransaction n(*(db.get()));
lastQ = q;
/* Execute SQL query */
result res( n.exec(q) );
return makeResult(res);
......@@ -190,6 +193,13 @@ DBResult PostgreSQLInterface::query( const string& q )
return DBResult();
}
// -----------------------------------------------------------------------------------------
void PostgreSQLInterface::cancel()
{
if( !db )
return;
db->cancel_query();
}
// -----------------------------------------------------------------------------------------
const string PostgreSQLInterface::error()
{
return lastE;
......
......@@ -45,6 +45,7 @@ namespace uniset
virtual bool ping() const override;
virtual DBResult query( const std::string& q ) override;
virtual void cancel() override;
virtual const std::string lastQuery() override;
virtual bool insert( const std::string& q ) override;
......
......@@ -26,6 +26,7 @@ namespace uniset
virtual bool ping() const = 0; // проверка доступности БД
virtual DBResult query( const std::string& q ) = 0;
virtual void cancel(){}; // попытка отменить текущий запрос
virtual const std::string lastQuery() = 0;
virtual bool insert( const std::string& q ) = 0;
virtual double insert_id() = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment