Library: Data/SQLite
Package: SQLite
Header: Poco/Data/SQLite/SessionImpl.h
Description
Implements SessionImpl interface.
The following properties are supported:
- transactionMode: "DEFERRED", "IMMEDIATE" or "EXCLUSIVE"
- maxRetryAttempts: maximum number of attemptes to retry an operation if database is locked or busy. Between retry attempts, sleep for a random time.
- minRetrySleep: the minimum time (in milliseconds) waited between two retry attempts.
- maxRetrySleep: the maximum time (in milliseconds) waited between two retry attempts.
Notes: For automatic retries to work, you should start every transaction that at one point will write to the database with IMMEDIATE or EXCLUSIVE mode.
Inheritance
Direct Base Classes: Poco::Data::AbstractSessionImpl < SessionImpl >
All Base Classes: Poco::Data::AbstractSessionImpl < SessionImpl >
Member Summary
Member Functions: begin, close, commit, createStatementImpl, db, getMaxRetryAttempts, getMaxRetrySleep, getMinRetrySleep, getTransactionMode, isConnected, isTransaction, rollback, setMaxRetryAttempts, setMaxRetrySleep, setMinRetrySleep, setTransactionMode
Enumerations
Anonymous
DEFAULT_MAX_RETRY_ATTEMPTS = 0
Default maximum number of attempts to retry an operation if the database is locked.
Default minimum sleep interval (milliseconds) between retry attempts.
Default maximum sleep interval (milliseconds) between retry attempts.
Constructors
SessionImpl
SessionImpl(
const std::string & fileName
);
Creates the SessionImpl. Opens a connection to the database.
Destructor
~SessionImpl
~SessionImpl();
Destroys the SessionImpl.
Member Functions
begin
void begin();
Starts a transaction.
close
void close();
Closes the session.
commit
void commit();
Commits and ends a transaction.
createStatementImpl
Poco::Data::StatementImpl * createStatementImpl();
Returns an SQLite StatementImpl.
db
sqlite3 * db();
Returns a pointer to the underlying sqlite3 structure.
This can be called to invoke sqlite API functions directly on the underlying database.
isConnected
bool isConnected();
Returns true if and only if connected, false otherwise.
isTransaction
bool isTransaction();
Returns true if and only if a transaction is in progress.
rollback
void rollback();
Aborts a transaction.
getMaxRetryAttempts
Poco::Any getMaxRetryAttempts(
const std::string & prop
);
getMaxRetrySleep
Poco::Any getMaxRetrySleep(
const std::string & prop
);
getMinRetrySleep
Poco::Any getMinRetrySleep(
const std::string & prop
);
getTransactionMode
Poco::Any getTransactionMode(
const std::string & prop
);
setMaxRetryAttempts
void setMaxRetryAttempts(
const std::string & prop,
const Poco::Any & value
);
setMaxRetrySleep
void setMaxRetrySleep(
const std::string & prop,
const Poco::Any & value
);
setMinRetrySleep
void setMinRetrySleep(
const std::string & prop,
const Poco::Any & value
);
setTransactionMode
void setTransactionMode(
const std::string & prop,
const Poco::Any & value
);