10 #ifndef litesql_backend_hpp 11 #define litesql_backend_hpp 34 virtual Record fetchOne()=0;
41 virtual size_t fieldNum()
const=0;
43 virtual Record fields()
const=0;
45 virtual size_t recordNum()
const=0;
47 virtual Records records()
const=0;
60 return "INTEGER PRIMARY KEY";
74 virtual Result* execute(
const string& query)
const = 0;
79 virtual Cursor* cursor(
const string& query)
const = 0;
88 const string& sequence)
const;
94 static Backend* getBackend(
const string& type,
const string& connInfo);
Definition: backend.hpp:14
virtual string getRowIDType() const
backend may want to set an AUTO_INCREMENT-attribute for table's primary key field.
Definition: backend.hpp:59
virtual void rollback() const
rollback SQL transaction
Definition: backend.hpp:70
An abstract base class for cursors that iterate result sets returned by relational database...
Definition: backend.hpp:23
virtual void setCacheSize(int s)
if inherited Cursor can cache its data to speed up iteration, this method is used to set cache size...
Definition: backend.hpp:31
Definition: backend.hpp:36
virtual ~Backend()
empty
Definition: backend.hpp:51
contains class Record and typedef Records
An abstract base class for interfacing with relational databases.
Definition: backend.hpp:19
SQL data row wrapper.
Definition: types.hpp:19
virtual ~Cursor()
empty
Definition: backend.hpp:26
virtual void commit() const
commit SQL transaction
Definition: backend.hpp:68
used to iterate results of SQL statement, creates objects of type T from retrieved records...
Definition: cursor.hpp:22
virtual void begin() const
begin SQL transaction, may or may not have an effect
Definition: backend.hpp:66
std::vector< Record > Records
shortcut
Definition: types.hpp:26
virtual string getInsertID() const
if backend supports this, new primary key of the last insert is returned
Definition: backend.hpp:64
virtual bool supportsSequences() const
return true if backend supports CREATE SEQUENCE - SQL-statements
Definition: backend.hpp:54
virtual ~Result()
empty
Definition: backend.hpp:39