Commit 11c8f221 authored by Pavel Vainerman's avatar Pavel Vainerman

(SQLite): немного подправил интерфейс..

parent 272e10ba
......@@ -20,7 +20,7 @@
/*! \file
* \author Pavel Vainerman
*/
// --------------------------------------------------------------------------
// --------------------------------------------------------------------------
#include <sstream>
#include <cstdio>
#include "UniSetTypes.h"
......@@ -38,22 +38,18 @@ queryok(false),
connected(false),
opTimeout(300),
opCheckPause(50)
{
{
}
SQLiteInterface::~SQLiteInterface()
{
{
close();
delete db;
if( db )
delete db;
}
// -----------------------------------------------------------------------------------------
bool SQLiteInterface::ping()
{
return db && ( sqlite3_db_status(db,0,NULL,NULL,0) == SQLITE_OK );
}
// -----------------------------------------------------------------------------------------
bool SQLiteInterface::connect( const string& dbfile, bool create )
bool SQLiteInterface::connect( const string dbfile, bool create )
{
// т.к. sqlite3 по умолчанию, создаёт файл при открытии, то проверим "сами"
// if( !create && !UniSetTypes::file_exist(dbfile) )
......@@ -72,8 +68,7 @@ bool SQLiteInterface::connect( const string& dbfile, bool create )
connected = false;
return false;
}
setOperationTimeout(opTimeout);
connected = true;
return true;
}
......@@ -85,18 +80,11 @@ bool SQLiteInterface::close()
sqlite3_close(db);
db = 0;
}
return true;
}
// -----------------------------------------------------------------------------------------
void SQLiteInterface::setOperationTimeout( timeout_t msec )
{
opTimeout = msec;
if( db )
sqlite3_busy_timeout(db,opTimeout);
}
// -----------------------------------------------------------------------------------------
bool SQLiteInterface::insert( const string& q )
bool SQLiteInterface::insert( const string q )
{
if( !db )
return false;
......@@ -112,9 +100,9 @@ bool SQLiteInterface::insert( const string& q )
}
int rc = sqlite3_step(pStmt);
if( !checkResult(rc) && !wait(pStmt, SQLITE_DONE) )
{
{
sqlite3_finalize(pStmt);
queryok = false;
return false;
......@@ -133,7 +121,7 @@ bool SQLiteInterface::checkResult( int rc )
return true;
}
// -----------------------------------------------------------------------------------------
SQLiteResult SQLiteInterface::query( const string& q )
SQLiteResult SQLiteInterface::query( const string q )
{
if( !db )
return SQLiteResult();
......@@ -150,7 +138,7 @@ SQLiteResult SQLiteInterface::query( const string& q )
queryok = false;
return SQLiteResult();
}
lastQ = q;
queryok=true;
return SQLiteResult(pStmt,true);
......@@ -237,8 +225,8 @@ std::string as_string( SQLiteResult::COL::iterator& it )
// -----------------------------------------------------------------------------------------
#if 0
SQLiteResult::COL get_col( SQLiteResult::ROW::iterator& it )
{
return (*it);
{
return (*it);
}
#endif
// -----------------------------------------------------------------------------------------
......
......@@ -21,6 +21,10 @@ INSERT INTO main_history VALUES(NULL,0,0,0,100,20.3,1,0);
INSERT INTO main_history VALUES(NULL,0,0,0,101,20.65,1,0);
INSERT INTO main_history VALUES(NULL,0,0,0,102,20.7,1,0);
INSERT INTO main_history VALUES(NULL,0,0,0,103,20.1,1,0);
INSERT INTO main_history VALUES(NULL,0,0,0,105,20.3,1,0);
INSERT INTO main_history VALUES(NULL,0,0,0,106,20.65,1,0);
INSERT INTO main_history VALUES(NULL,0,0,0,107,20233.7,1,0);
INSERT INTO main_history VALUES(NULL,0,0,0,108,245560.67671,1,0);
_EOF_
......
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