Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/group__DbAPI.html below:
NCBI C++ ToolKit: Database APIs
enum EAllowLog { eDisableLog , eEnableLog } EDataSource –. More...
enum EBlobOStreamFlags { fBOS_UseTransaction = 1 << 0 , fBOS_SkipLogging = 1 << 1 } EBlobOStreamFlags –. More...
enum IBulkInsert::EHints {
IBulkInsert::eOrder , IBulkInsert::eRowsPerBatch , IBulkInsert::eKilobytesPerBatch , IBulkInsert::eTabLock ,
IBulkInsert::eCheckConstraints , IBulkInsert::eFireTriggers
} Type of hint that can be set. More...
enum IConnection::EConnMode { IConnection::eBulkInsert = I_DriverContext::fBcpIn , IConnection::ePasswordEncrypted = I_DriverContext::fPasswordEncrypted } Which connection mode. More...
enum CSQLITE3_ICacheException::EErrCode { CSQLITE3_ICacheException::eUnknown , CSQLITE3_ICacheException::eInitError , CSQLITE3_ICacheException::eNotImplemented } enum { CSQLITE3_Cache::kDefaultTimestampPolicy } virtual IResultSetMetaData::~IResultSetMetaData (void) Destructor. More...
bool IResultSetMetaData::HasColumn (const CDBParamVariant ¶m) const Convenience method to check whether a column with a given name (or number) actually exists. More...
virtual unsigned int IResultSetMetaData::GetTotalColumns (void) const =0 Get total number of columns in resultset. More...
virtual EDB_Type IResultSetMetaData::GetType (const CDBParamVariant ¶m) const =0 Get data type for column in the resultset. More...
virtual int IResultSetMetaData::GetMaxSize (const CDBParamVariant ¶m) const =0 Get maximum size in bytes for column. More...
virtual string IResultSetMetaData::GetName (const CDBParamVariant ¶m) const =0 Get name of column. More...
virtual CDBParams::EDirection IResultSetMetaData::GetDirection (const CDBParamVariant ¶m) const =0 Get parameter's direction (in/out/inout). More...
virtual IResultSet::~IResultSet () Destructor. More...
virtual EDB_ResType IResultSet::GetResultType ()=0 Get result type. More...
virtual bool IResultSet::Next ()=0 Get next row. More...
virtual const CVariant & IResultSet::GetVariant (const CDBParamVariant ¶m)=0 Retrieve a CVariant class describing the data stored in a given column. More...
virtual void IResultSet::DisableBind (bool b)=0 Disables column binding. More...
virtual void IResultSet::BindBlobToVariant (bool b)=0 Bind blob to variant. More...
virtual size_t IResultSet::Read (void *buf, size_t size)=0 Read unformatted data. More...
virtual bool IResultSet::WasNull ()=0 Determine if last column was NULL. More...
virtual int IResultSet::GetColumnNo ()=0 Get column number, currently available for Read() More...
virtual unsigned int IResultSet::GetTotalColumns ()=0 Get total columns. More...
virtual CNcbiIstream & IResultSet::GetBlobIStream (size_t buf_size=0)=0 Get Blob input stream. More...
virtual CNcbiOstream & IResultSet::GetBlobOStream (size_t blob_size, TBlobOStreamFlags flags=0, size_t buf_size=0)=0 Get Blob output stream. More...
virtual CNcbiOstream & IResultSet::GetBlobOStream (size_t blob_size, EAllowLog log_it, size_t buf_size=0) virtual CNcbiOstream & IResultSet::GetBlobOStream (IConnection *conn, size_t blob_size, TBlobOStreamFlags flags=0, size_t buf_size=0)=0 Get Blob output stream with explicit additional connection. More...
virtual CNcbiOstream & IResultSet::GetBlobOStream (IConnection *conn, size_t blob_size, EAllowLog log_it, size_t buf_size=0) virtual IReader * IResultSet::GetBlobReader ()=0 Get a Blob Reader. More...
virtual void IResultSet::Close ()=0 Close resultset. More...
virtual const IResultSetMetaData * IResultSet::GetMetaData (EOwnership ownership=eNoOwnership)=0 Get Metadata. More...
virtual IStatement::~IStatement () Destructor. More...
virtual IResultSet * IStatement::GetResultSet ()=0 Get resulset. More...
virtual bool IStatement::HasMoreResults ()=0 Check for more results available. More...
virtual bool IStatement::Failed ()=0 Check if the statement failed. More...
virtual bool IStatement::HasRows ()=0 Check if resultset has rows. More...
virtual void IStatement::PurgeResults ()=0 Purge results. More...
virtual void IStatement::Cancel ()=0 Cancel statement. More...
virtual void IStatement::Close ()=0 Close statement. More...
virtual void IStatement::SendSql (const string &sql)=0 Sends one or more SQL statements to the SQL server. More...
virtual void IStatement::Execute (const string &sql)=0 Sends one or more SQL statements to the SQL server (NOTE: replaced by the SendSql()) More...
virtual void IStatement::ExecuteUpdate (const string &sql)=0 Executes SQL statement with no results returned. More...
virtual IResultSet * IStatement::ExecuteQuery (const string &sql)=0 Exectues SQL statement and returns the first resultset. More...
virtual void IStatement::ExecuteLast ()=0 Executes the last command (with changed parameters, if any). More...
virtual void IStatement::SetParam (const CVariant &v, const CDBParamVariant ¶m)=0 Set input/output parameter. More...
virtual void IStatement::ClearParamList ()=0 Clear parameter list. More...
virtual int IStatement::GetRowCount ()=0 Get total of rows returned. More...
virtual IWriter * IStatement::GetBlobWriter (I_BlobDescriptor &d, size_t blob_size, TBlobOStreamFlags flags=0)=0 Get a writer for writing BLOBs using previously created CDB_BlobDescriptor. More...
virtual IWriter * IStatement::GetBlobWriter (I_BlobDescriptor &d, size_t blob_size, EAllowLog log_it) virtual CNcbiOstream & IStatement::GetBlobOStream (I_BlobDescriptor &d, size_t blob_size, TBlobOStreamFlags flags=0, size_t buf_size=0)=0 Get an ostream for writing BLOBs using previously created CDB_BlobDescriptor. More...
virtual CNcbiOstream & IStatement::GetBlobOStream (I_BlobDescriptor &d, size_t blob_size, EAllowLog log_it, size_t buf_size=0) virtual class IConnection * IStatement::GetParentConn ()=0 Get the parent connection. More...
virtual void IStatement::SetAutoClearInParams (bool flag=true)=0 Set auto-clear input parameter flag. More...
virtual bool IStatement::IsAutoClearInParams (void) const =0 Get auto-clear input parameter flag value. More...
virtual const IResultSetMetaData & IStatement::GetParamsMetaData (void)=0 Get input parameters metadata. More...
virtual ICallableStatement::~ICallableStatement () Destructor. More...
virtual void ICallableStatement::Execute ()=0 Execute stored procedure. More...
virtual void ICallableStatement::ExecuteUpdate ()=0 Executes stored procedure no results returned. More...
virtual int ICallableStatement::GetReturnStatus ()=0 Get return status from the stored procedure. More...
virtual void ICallableStatement::SetParam (const CVariant &v, const CDBParamVariant ¶m)=0 Set input parameters. More...
virtual void ICallableStatement::SetOutputParam (const CVariant &v, const CDBParamVariant ¶m)=0 Set output parameter, which will be returned as resultset. More...
virtual void ICallableStatement::SendSql (const string &) Sends one or more SQL statements to the SQL server. More...
virtual void ICallableStatement::Execute (const string &) Sends one or more SQL statements to the SQL server (NOTE: replaced by the SendSql()) More...
virtual void ICallableStatement::ExecuteUpdate (const string &) Executes SQL statement with no results returned. More...
virtual IResultSet * ICallableStatement::ExecuteQuery (const string &) Exectues SQL statement and returns the first resultset. More...
virtual ICursor::~ICursor () Destructor. More...
virtual void ICursor::SetParam (const CVariant &v, const CDBParamVariant ¶m)=0 Set input parameter. More...
virtual IResultSet * ICursor::Open ()=0 Open cursor and get corresponding resultset. More...
virtual CNcbiOstream & ICursor::GetBlobOStream (unsigned int col, size_t blob_size, TBlobOStreamFlags flags=0, size_t buf_size=0)=0 Get output stream for BLOB updates, requires BLOB column number. More...
virtual CNcbiOstream & ICursor::GetBlobOStream (unsigned int col, size_t blob_size, EAllowLog log_it, size_t buf_size=0) virtual IWriter * ICursor::GetBlobWriter (unsigned int col, size_t blob_size, TBlobOStreamFlags flags=0)=0 Get Blob Writer. More...
virtual IWriter * ICursor::GetBlobWriter (unsigned int col, size_t blob_size, EAllowLog log_it) virtual void ICursor::Update (const string &table, const string &updateSql)=0 Update statement for cursor. More...
virtual void ICursor::Delete (const string &table)=0 Delete statement for cursor. More...
virtual void ICursor::Cancel ()=0 Cancel cursor. More...
virtual void ICursor::Close ()=0 Close cursor. More...
virtual class IConnection * ICursor::GetParentConn ()=0 Get the parent connection. More...
virtual IBulkInsert::~IBulkInsert () Destructor. More...
virtual void IBulkInsert::SetHints (CTempString hints)=0 Set hints by one call. Resets everything that was set by Add*Hint(). More...
virtual void IBulkInsert::AddHint (EHints hint, unsigned int value=0)=0 Add hint with value. More...
virtual void IBulkInsert::AddOrderHint (CTempString columns)=0 Add "ORDER" hint. More...
virtual void IBulkInsert::Bind (const CDBParamVariant ¶m, CVariant *v)=0 Bind column. More...
virtual void IBulkInsert::AddRow ()=0 Add row to the batch. More...
virtual void IBulkInsert::StoreBatch ()=0 Store batch of rows. More...
virtual void IBulkInsert::Cancel ()=0 Cancel bulk insert. More...
virtual void IBulkInsert::Complete ()=0 Complete batch. More...
virtual void IBulkInsert::Close ()=0 Close. More...
virtual IConnection::~IConnection () Destructor. More...
virtual void IConnection::SetMode (EConnMode mode)=0 Set connection mode. More...
virtual void IConnection::ResetMode (EConnMode mode)=0 Reset connection mode. More...
virtual unsigned int IConnection::GetModeMask ()=0 Get mode mask. More...
virtual void IConnection::ForceSingle (bool enable)=0 Force single connection mode, default false. More...
virtual IDataSource * IConnection::GetDataSource ()=0 Get parent datasource object. More...
virtual void IConnection::Connect (const string &user, const string &password, const string &server, const string &database=kEmptyStr)=0 Connect to a database. More...
virtual void IConnection::Connect (const CDBConnParams ¶ms)=0 Connect to a database. More...
virtual void IConnection::ConnectValidated (IConnValidator &validator, const string &user, const string &password, const string &server, const string &database=kEmptyStr)=0 Connect to a database using connect validator. More...
virtual IConnection * IConnection::CloneConnection (EOwnership ownership=eNoOwnership)=0 Clone existing connection. More...
virtual void IConnection::SetDatabase (const string &name)=0 Set current database. More...
virtual string IConnection::GetDatabase ()=0 Get current database. More...
virtual bool IConnection::IsAlive ()=0 Check if the connection is alive. More...
virtual IStatement * IConnection::GetStatement ()=0 Get statement object for regular SQL queries. More...
virtual ICallableStatement * IConnection::GetCallableStatement (const string &proc)=0 Get callable statement object for stored procedures. More...
ICallableStatement * IConnection::GetCallableStatement (const string &proc, int) virtual ICursor * IConnection::GetCursor (const string &name, const string &sql, int batchSize)=0 Get cursor object. More...
ICursor * IConnection::GetCursor (const string &name, const string &sql) ICursor * IConnection::GetCursor (const string &name, const string &sql, int, int batchSize) virtual IBulkInsert * IConnection::GetBulkInsert (const string &table_name)=0 Create bulk insert object. More...
IBulkInsert * IConnection::GetBulkInsert (const string &table_name, unsigned int) virtual IStatement * IConnection::CreateStatement ()=0 Get statement object for regular SQL queries. More...
virtual ICallableStatement * IConnection::PrepareCall (const string &proc)=0 Get callable statement object for stored procedures. More...
ICallableStatement * IConnection::PrepareCall (const string &proc, int) virtual ICursor * IConnection::CreateCursor (const string &name, const string &sql, int batchSize)=0 Get cursor object. More...
ICursor * IConnection::CreateCursor (const string &name, const string &sql) ICursor * IConnection::CreateCursor (const string &name, const string &sql, int, int batchSize) virtual IBulkInsert * IConnection::CreateBulkInsert (const string &table_name)=0 Create bulk insert object. More...
IBulkInsert * IConnection::CreateBulkInsert (const string &table_name, unsigned int) virtual void IConnection::Close ()=0 Close connecti. More...
virtual void IConnection::Abort ()=0 Abort connection. More...
virtual void IConnection::SetTimeout (size_t nof_secs)=0 Set connection timeout. More...
virtual void IConnection::SetCancelTimeout (size_t) Set timeout for command cancellation and connection closing. More...
virtual size_t IConnection::GetTimeout (void) const Get connection timeout. More...
virtual size_t IConnection::GetCancelTimeout (void) const Get timeout for command cancellation and connection closing. More...
virtual void IConnection::MsgToEx (bool v)=0 If enabled, redirects all error messages to CDB_MultiEx object (see below). More...
virtual CDB_MultiEx * IConnection::GetErrorAsEx ()=0 Returns all error messages as a CDB_MultiEx object. More...
virtual string IConnection::GetErrorInfo ()=0 Returns all error messages as a single string. More...
virtual const CVersionInfo & IConnection::GetVersionInfo () const =0 virtual CDB_Connection * IConnection::GetCDB_Connection ()=0 Returns the internal driver connection object. More...
virtual IDataSource::~IDataSource () Protected Destructor. More...
virtual IConnection * IDataSource::CreateConnection (EOwnership ownership=eNoOwnership)=0 virtual void IDataSource::SetLoginTimeout (unsigned int i)=0 Set login timeout. More...
virtual void IDataSource::SetLogStream (ostream *out)=0 Set the output stream for server messages. More...
virtual CDB_MultiEx * IDataSource::GetErrorAsEx ()=0 Returns all server messages as a CDB_MultiEx object. More...
virtual string IDataSource::GetErrorInfo ()=0 Returns all server messages as a single string. More...
virtual I_DriverContext * IDataSource::GetDriverContext ()=0 Returns the pointer to the general driver interface. More...
virtual const I_DriverContext * IDataSource::GetDriverContext () const =0 void IDataSource::SetApplicationName (const string &app_name) string IDataSource::GetApplicationName (void) const CAutoTrans::CSubject DBAPI_MakeTrans (IConnection &connection) void SQLITE3_Register_Cache (void) Register NCBI_EntryPoint_SQLITE3_BlobCache. More...
virtual const char * CSQLITE3_ICacheException::GetErrCodeString (void) const override Get error code interpreted as text. More...
CSQLITE3_ICacheException::NCBI_EXCEPTION_DEFAULT (CSQLITE3_ICacheException, CException) CSQLITE3_Cache::CSQLITE3_Cache () virtual CSQLITE3_Cache::~CSQLITE3_Cache () void CSQLITE3_Cache::Open (const string &database, bool remove=false) Open cache. More...
bool CSQLITE3_Cache::Vacuum () Vacuum the database (should be open first) More...
unsigned CSQLITE3_Cache::GetMemBufferSize () const void CSQLITE3_Cache::StoreSynchronous (const string &key, int version, const string &subkey, const void *data, size_t size) const string & CSQLITE3_Cache::GetDatabase () const Get DB name/path. More...
CSQLITE3_Cache::CWriterThread::CWriterThread (CSQLITE3_Cache &cache, TWriteQueue &write_q) void * CSQLITE3_Cache::CWriterThread::Main () Derived (user-created) class must provide a real thread function. More...
void CSQLITE3_Cache::CWriterThread::Stop () Queue a request to stop the background writer Asyncronous! Thread may not stop yet when it gets back from this call. More...
CSQLITE3_Cache::CWriterThread::CWriterThread (const CWriterThread &) CWriterThread & CSQLITE3_Cache::CWriterThread::operator= (const CWriterThread &) void CSQLITE3_Cache::x_SetTimestamp (const string &key, int version, const string &subkey) CSQLITE3_Cache::CSQLITE3_Cache (const CSQLITE3_Cache &) CSQLITE3_Cache & CSQLITE3_Cache::operator= (const CSQLITE3_Cache &) virtual void CSQLITE3_Cache::SetTimeStampPolicy (TTimeStampFlags policy, unsigned int timeout, unsigned int max_timeout=0) Set timestamp update policy. More...
virtual TTimeStampFlags CSQLITE3_Cache::GetTimeStampPolicy () const Get timestamp policy. More...
virtual int CSQLITE3_Cache::GetTimeout () const Get expiration timeout. More...
virtual bool CSQLITE3_Cache::IsOpen () const virtual void CSQLITE3_Cache::SetVersionRetention (EKeepVersions policy) Set version retention policy. More...
virtual EKeepVersions CSQLITE3_Cache::GetVersionRetention () const Get version retention. More...
virtual void CSQLITE3_Cache::Store (const string &key, int version, const string &subkey, const void *data, size_t size, unsigned int time_to_live=0, const string &owner=kEmptyStr) Add or replace BLOB. More...
virtual size_t CSQLITE3_Cache::GetSize (const string &key, int version, const string &subkey) Check if BLOB exists, return BLOB size. More...
virtual void CSQLITE3_Cache::GetBlobOwner (const string &key, int version, const string &subkey, string *owner) Retrieve BLOB owner. More...
virtual bool CSQLITE3_Cache::Read (const string &key, int version, const string &subkey, void *buf, size_t buf_size) Fetch the BLOB. More...
virtual IReader * CSQLITE3_Cache::GetReadStream (const string &key, int version, const string &subkey) Return sequential stream interface to read BLOB data. More...
virtual IReader * CSQLITE3_Cache::GetReadStream (const string &key, const string &subkey, int *version, EBlobVersionValidity *validity) Request the latest version of a BLOB. More...
virtual void CSQLITE3_Cache::SetBlobVersionAsValid (const string &key, const string &subkey, int version) virtual void CSQLITE3_Cache::GetBlobAccess (const string &key, int version, const string &subkey, SBlobAccessDescr *blob_descr) Get BLOB access using BlobAccessDescr. More...
virtual IWriter * CSQLITE3_Cache::GetWriteStream (const string &key, int version, const string &subkey, unsigned int time_to_live=0, const string &owner=kEmptyStr) Specifics of this IWriter implementation is that IWriter::Flush here cannot be called twice, because it finalises transaction Also you cannot call Write after Flush... More...
virtual void CSQLITE3_Cache::Remove (const string &key) virtual void CSQLITE3_Cache::Remove (const string &key, int version, const string &subkey) Remove specific cache entry. More...
virtual time_t CSQLITE3_Cache::GetAccessTime (const string &key, int version, const string &subkey) Return last access time for the specified cache entry. More...
virtual bool CSQLITE3_Cache::HasBlobs (const string &key, const string &subkey) Check if any BLOB exists (any version) More...
virtual void CSQLITE3_Cache::Purge (time_t access_timeout) Delete all BLOBs older than specified. More...
virtual void CSQLITE3_Cache::Purge (const string &key, const string &subkey, time_t access_timeout) Delete BLOBs with access time older than specified. More...
virtual bool CSQLITE3_Cache::SameCacheParams (const TCacheParams *params) const virtual string CSQLITE3_Cache::GetCacheName (void) const virtual TFlags CSQLITE3_Cache::GetFlags () Retrieve the effective combination of flags from the underlying storage. More...
virtual void CSQLITE3_Cache::SetFlags (TFlags flags) Pass flags to the underlying storage. More...
◆ TBlobOStreamFlags ◆ TSqliteDb ◆ TWriteQueue ◆ anonymous enum ◆ EAllowLog
EDataSource –.
Data source platform
enum EDataSource { eSybase, eMsSql };
EAllowLog –
Allow transaction log (general, to avoid using bools).
Enumerator eDisableLog
Disables log.
eEnableLog
Enables log.
Definition at line 78 of file dbapi.hpp.
◆ EBlobOStreamFlags
EBlobOStreamFlags –.
How to send BLOB data (generalization of EAllowLog).
Enumerator fBOS_UseTransaction
Use a (sub)transaction (committed once all data's been sent successfully, rolled back for unrecoverable errors) to guard against races that could let readers see incomplete blobs, and to allow for replication as appropriate.
NB: This approach can yield local deadlocks in some circumstances, particularly if a single application thread maintains multiple connections to the database in question (due, for instance, to using methods that establish temporary clones of the original connection).
fBOS_SkipLogging
Definition at line 90 of file dbapi.hpp.
◆ EConnMode
Which connection mode.
Enumerator eBulkInsert
Bulk insert mode.
This value is not needed anymore because BCP mode is enabled all the time in all drivers now.
ePasswordEncrypted
Encrypted password mode.
Definition at line 737 of file dbapi.hpp.
◆ EErrCode Enumerator eUnknown eInitError eNotImplemented
Definition at line 79 of file sqlite_cache.hpp.
◆ EHints
Type of hint that can be set.
Enumerator eOrder eRowsPerBatch eKilobytesPerBatch eTabLock eCheckConstraints eFireTriggers
Definition at line 680 of file dbapi.hpp.
◆ Abort() virtual void IConnection::Abort ( ) pure virtual ◆ AddHint() virtual void IBulkInsert::AddHint ( EHints hint, unsigned int value = 0
) pure virtual ◆ AddOrderHint() virtual void IBulkInsert::AddOrderHint ( CTempString columns ) pure virtual ◆ AddRow() virtual void IBulkInsert::AddRow ( ) pure virtual ◆ Bind() ◆ BindBlobToVariant() virtual void IResultSet::BindBlobToVariant ( bool b ) pure virtual
Bind blob to variant.
If this mode is true, BLOB data is returned as CVariant False by default.
-
Note
-
When binding of blobs to variant is disabled all columns in resultset placed after first blob column must be read with Read() method, GetVariant() method will always return NULL for these columns.
-
Parameters
-
Enables blob binding when set to true.
Implemented in CResultSet.
Referenced by CNcbiSample_Dbapi_Advanced_Features::RunSample().
◆ Cancel() [1/3] virtual void IStatement::Cancel ( ) pure virtual
Cancel statement.
Rolls back current transaction.
Implemented in CStatement.
◆ Cancel() [2/3] virtual void ICursor::Cancel ( ) pure virtual
Cancel cursor.
Implemented in CCursor.
◆ Cancel() [3/3] virtual void IBulkInsert::Cancel ( ) pure virtual ◆ ClearParamList() virtual void IStatement::ClearParamList ( ) pure virtual ◆ CloneConnection()
Clone existing connection.
All settings are copied except message handlers Set ownership to eTakeOwnership to prevent deleting connection upon deleting parent object
Implemented in CConnection.
◆ Close() [1/5] virtual void IResultSet::Close ( ) pure virtual ◆ Close() [2/5] virtual void IStatement::Close ( ) pure virtual ◆ Close() [3/5] virtual void ICursor::Close ( ) pure virtual
Close cursor.
Implemented in CCursor.
◆ Close() [4/5] virtual void IBulkInsert::Close ( ) pure virtual ◆ Close() [5/5] virtual void IConnection::Close ( ) pure virtual ◆ Complete() virtual void IBulkInsert::Complete ( ) pure virtual ◆ Connect() [1/2]
Connect to a database.
-
Parameters
-
params Connection parameters. Parameters should include all necessary settings because all info set via SetMode() or ResetMode() will be ignored.
Implemented in CConnection.
◆ Connect() [2/2] ◆ ConnectValidated()
Connect to a database using connect validator.
-
Parameters
-
validator Validator implementation class. user User name. password User's password. server Server to connect to. database Database to connect to.
Implemented in CConnection.
Referenced by CNcbiSample_Dbapi_Simple::SetupDb().
◆ CreateBulkInsert() [1/2] ◆ CreateBulkInsert() [2/2] ◆ CreateConnection() ◆ CreateCursor() [1/3] ◆ CreateCursor() [2/3] ◆ CreateCursor() [3/3] ◆ CreateStatement() virtual IStatement* IConnection::CreateStatement ( ) pure virtual ◆ CSQLITE3_Cache() [1/2] ◆ CSQLITE3_Cache() [2/2] ◆ CWriterThread() [1/2] ◆ CWriterThread() [2/2] ◆ DBAPI_MakeTrans() ◆ Delete()
Delete statement for cursor.
-
Parameters
-
Implemented in CCursor.
◆ DisableBind() virtual void IResultSet::DisableBind ( bool b ) pure virtual
Disables column binding.
-
Note
-
When binding is disabled all columns must be read with Read() method, GetVariant() method will always return NULL in this case.
False by default.
-
Parameters
-
Disables column binding when set to true.
Implemented in CResultSet.
◆ Execute() [1/3] virtual void ICallableStatement::Execute ( ) pure virtual ◆ Execute() [2/3] void ICallableStatement::Execute ( const string & sql ) protectedvirtual ◆ Execute() [3/3] virtual void IStatement::Execute ( const string & sql ) pure virtual ◆ ExecuteLast() virtual void IStatement::ExecuteLast ( ) pure virtual
Executes the last command (with changed parameters, if any).
Implemented in CStatement.
◆ ExecuteQuery() [1/2]
Exectues SQL statement and returns the first resultset.
If there is more than one resultset, the rest remain pending unless either PurgeResults() is called or next statement is run or the statement is closed. NOTE: Provided only for queries containing a single sql statement returning rows.
-
Parameters
-
sql SQL statement to execute.
-
Returns
-
Pointer to result set. Ownership of IResultSet* belongs to IStatement. It is not allowed to use unique_ptr<> or other smart pointers to manage life-time of IResultSet*.
Implements IStatement.
Reimplemented in CCallableStatement.
Definition at line 105 of file dbapi.cpp.
◆ ExecuteQuery() [2/2]
Exectues SQL statement and returns the first resultset.
If there is more than one resultset, the rest remain pending unless either PurgeResults() is called or next statement is run or the statement is closed. NOTE: Provided only for queries containing a single sql statement returning rows.
-
Parameters
-
sql SQL statement to execute.
-
Returns
-
Pointer to result set. Ownership of IResultSet* belongs to IStatement. It is not allowed to use unique_ptr<> or other smart pointers to manage life-time of IResultSet*.
Implemented in CStatement, CCallableStatement, and ICallableStatement.
◆ ExecuteUpdate() [1/3] virtual void ICallableStatement::ExecuteUpdate ( ) pure virtual
Executes stored procedure no results returned.
NOTE: All resultsets are discarded.
Implemented in CCallableStatement.
◆ ExecuteUpdate() [2/3] void ICallableStatement::ExecuteUpdate ( const string & sql ) protectedvirtual
Executes SQL statement with no results returned.
All resultsets are discarded.
-
Parameters
-
sql SQL statement to execute.
Implements IStatement.
Reimplemented in CCallableStatement.
Definition at line 97 of file dbapi.cpp.
◆ ExecuteUpdate() [3/3] virtual void IStatement::ExecuteUpdate ( const string & sql ) pure virtual ◆ Failed() virtual bool IStatement::Failed ( ) pure virtual
Check if the statement failed.
-
Returns
-
Return true, if the statement failed.
Implemented in CStatement.
◆ ForceSingle() virtual void IConnection::ForceSingle ( bool enable ) pure virtual
Force single connection mode, default false.
Disable this mode before using BLOB output streams from IResultSet, because extra connection is needed in this case.
Implemented in CConnection.
◆ GetAccessTime() ◆ GetApplicationName() string IDataSource::GetApplicationName ( void ) const ◆ GetBlobAccess()
Get BLOB access using BlobAccessDescr.
Method fills blob_descr parameter. If provided buffer has sufficient capacity for BLOB storage, BLOB is saved into the buffer, otherwise IReader is created.
-
Note
-
Method supposed to provide fast access to relatively small BLOBs
Implements ICache.
Definition at line 1145 of file sqlite_cache.cpp.
References ICache::SBlobAccessDescr::blob_found, ICache::SBlobAccessDescr::blob_size, ICache::SBlobAccessDescr::buf, ICache::SBlobAccessDescr::buf_size, CTime::eCurrent, ICache::fTimeStampOnRead, GetBlobReader(), CSQLITE3_Cache::GetTimeout(), CTime::GetTimeT(), ncbi::grid::netcache::search::fields::key, CSQLITE3_Cache::m_DB, CSQLITE3_Cache::m_Mutex, CSQLITE3_Cache::m_Stmt_GetBlobAccess, CSQLITE3_Cache::m_TimeStampFlag, ICache::SBlobAccessDescr::reader, CSQLITE3_Cache::Remove(), sql, ncbi::grid::netcache::search::fields::subkey, dtl::version, and CSQLITE3_Cache::x_SetTimestamp().
◆ GetBlobIStream() virtual CNcbiIstream& IResultSet::GetBlobIStream ( size_t buf_size = 0
) pure virtual ◆ GetBlobOStream() [1/8] ◆ GetBlobOStream() [2/8] ◆ GetBlobOStream() [3/8] ◆ GetBlobOStream() [4/8]
Get Blob output stream with explicit additional connection.
-
Parameters
-
conn addtional connection used for writing blob (the above method clones the existing connection implicitly) blob_size blob_size is the size of the BLOB to be written. flags
-
See also
-
EBlobOStreamFlags.
-
Parameters
-
buf_size The size of internal buffer, default 4096.
-
Deprecated:
-
Please use IStatement::GetBlobOStream instead.
-
See also
-
IStatement::GetBlobOStream
Implemented in CResultSet.
◆ GetBlobOStream() [5/8] ◆ GetBlobOStream() [6/8] ◆ GetBlobOStream() [7/8] ◆ GetBlobOStream() [8/8] ◆ GetBlobOwner() ◆ GetBlobReader() virtual IReader* IResultSet::GetBlobReader ( ) pure virtual ◆ GetBlobWriter() [1/4] ◆ GetBlobWriter() [2/4] ◆ GetBlobWriter() [3/4] ◆ GetBlobWriter() [4/4] ◆ GetBulkInsert() [1/2] ◆ GetBulkInsert() [2/2] ◆ GetCacheName() string CSQLITE3_Cache::GetCacheName ( void ) const virtual ◆ GetCallableStatement() [1/2] ◆ GetCallableStatement() [2/2] ◆ GetCancelTimeout() size_t IConnection::GetCancelTimeout ( void ) const virtual ◆ GetCDB_Connection() ◆ GetColumnNo() virtual int IResultSet::GetColumnNo ( ) pure virtual
Get column number, currently available for Read()
-
Returns
-
Returns current item number we can retrieve (1,2,...) using Read() Returns "0" if no more items left (or available) to read
Implemented in CResultSet.
◆ GetCursor() [1/3] ◆ GetCursor() [2/3] ◆ GetCursor() [3/3] ◆ GetDatabase() [1/2] const string& CSQLITE3_Cache::GetDatabase ( void ) const inline ◆ GetDatabase() [2/2] virtual string IConnection::GetDatabase ( ) pure virtual ◆ GetDataSource()
Get parent datasource object.
Implemented in CConnection.
◆ GetDirection() ◆ GetDriverContext() [1/2] ◆ GetDriverContext() [2/2] ◆ GetErrCodeString() const char * CSQLITE3_ICacheException::GetErrCodeString ( void ) const overridevirtual ◆ GetErrorAsEx() [1/2] ◆ GetErrorAsEx() [2/2] ◆ GetErrorInfo() [1/2] virtual string IConnection::GetErrorInfo ( ) pure virtual
Returns all error messages as a single string.
Implemented in CConnection.
◆ GetErrorInfo() [2/2] virtual string IDataSource::GetErrorInfo ( ) pure virtual ◆ GetFlags() virtual TFlags CSQLITE3_Cache::GetFlags ( ) inlinevirtual
Retrieve the effective combination of flags from the underlying storage.
Implements ICache.
Definition at line 225 of file sqlite_cache.hpp.
◆ GetMaxSize() ◆ GetMemBufferSize() unsigned CSQLITE3_Cache::GetMemBufferSize ( ) const
-
Returns
-
Size of the intermediate BLOB memory buffer
◆ GetMetaData() ◆ GetModeMask() virtual unsigned int IConnection::GetModeMask ( ) pure virtual ◆ GetName() ◆ GetParamsMetaData()
Get input parameters metadata.
-
Returns
-
Pointer to result metadata.
Implemented in CStatement.
◆ GetParentConn() [1/2] virtual class IConnection* IStatement::GetParentConn ( ) pure virtual
Get the parent connection.
If the original connections was cloned, returns cloned connection.
Implemented in CStatement.
◆ GetParentConn() [2/2]
Get the parent connection.
NOTE: If the original connections was cloned, returns cloned connection.
Implemented in CCursor.
◆ GetReadStream() [1/2]
Request the latest version of a BLOB.
-
Parameters
-
[in] key BLOB identification key [in] subkey BLOB identification subkey [out] version Version of the returned BLOB [out] validity Validity of the version of the returned BLOB
-
Returns
-
Sequential stream interface to read BLOB data. Return NULL if the BLOB data is not found in the cache.
-
Note
-
If the BLOB data is not found in the cache, then neither 'version' nor 'validity' values will be set by the method.
-
See also
-
SetCurrentBlobVersion()
Implements ICache.
Definition at line 873 of file sqlite_cache.cpp.
References NCBI_THROW.
◆ GetReadStream() [2/2]
Return sequential stream interface to read BLOB data.
-
Parameters
-
key BLOB identification key subkey BLOB identification subkey version BLOB version
-
Returns
-
Interface pointer or NULL if BLOB does not exist
Implements ICache.
Definition at line 835 of file sqlite_cache.cpp.
References ICache::fTimeStampOnRead, GetBlobReader(), ncbi::grid::netcache::search::fields::key, CSQLITE3_Cache::m_DB, CSQLITE3_Cache::m_Mutex, CSQLITE3_Cache::m_Stmt_GetReadStream, CSQLITE3_Cache::m_TimeStampFlag, NULL, sql, ncbi::grid::netcache::search::fields::subkey, dtl::version, and CSQLITE3_Cache::x_SetTimestamp().
◆ GetResultSet() ◆ GetResultType() ◆ GetReturnStatus() virtual int ICallableStatement::GetReturnStatus ( ) pure virtual ◆ GetRowCount() virtual int IStatement::GetRowCount ( ) pure virtual
Get total of rows returned.
Valid only after all rows are retrieved from a resultset. Even then, can be -1 if the server didn't indicate a count.
Implemented in CStatement.
◆ GetSize()
Check if BLOB exists, return BLOB size.
-
Parameters
-
key BLOB identification key subkey BLOB identification subkey version BLOB version
-
Returns
-
BLOB size or 0 if it doesn't exist or expired
Implements ICache.
Definition at line 788 of file sqlite_cache.cpp.
References Info(), ncbi::grid::netcache::search::fields::key, LOG_POST, CSQLITE3_Cache::m_DB, NCBI_CURRENT_FUNCTION, s_MakeKeyCondition(), sql, stmt, ncbi::grid::netcache::search::fields::subkey, and dtl::version.
◆ GetStatement() ◆ GetTimeout() [1/2] int CSQLITE3_Cache::GetTimeout ( ) const virtual ◆ GetTimeout() [2/2] size_t IConnection::GetTimeout ( void ) const virtual ◆ GetTimeStampPolicy() ◆ GetTotalColumns() [1/2] virtual unsigned int IResultSet::GetTotalColumns ( ) pure virtual ◆ GetTotalColumns() [2/2] virtual unsigned int IResultSetMetaData::GetTotalColumns ( void ) const pure virtual ◆ GetType() ◆ GetVariant() ◆ GetVersionInfo() ◆ GetVersionRetention() ◆ GetWriteStream() ◆ HasBlobs() ◆ HasColumn() ◆ HasMoreResults() virtual bool IStatement::HasMoreResults ( ) pure virtual ◆ HasRows() virtual bool IStatement::HasRows ( ) pure virtual ◆ IsAlive() virtual bool IConnection::IsAlive ( ) pure virtual ◆ IsAutoClearInParams() virtual bool IStatement::IsAutoClearInParams ( void ) const pure virtual
Get auto-clear input parameter flag value.
-
Returns
-
auto-clear input parameter flag value
Implemented in CStatement.
◆ IsOpen() bool CSQLITE3_Cache::IsOpen ( ) const virtual ◆ Main() void * CSQLITE3_Cache::CWriterThread::Main ( ) virtual ◆ MsgToEx() virtual void IConnection::MsgToEx ( bool v ) pure virtual ◆ NCBI_EXCEPTION_DEFAULT() ◆ Next() virtual bool IResultSet::Next ( ) pure virtual ◆ Open() [1/2] ◆ Open() [2/2]
Open cache.
Does not take IConnection ownership. Connection should be already logged into the destination server
Implementation uses temporary files to keep local BLOBs. If you temp directory is not specified system default is used
-
Parameters
-
database DB name with path remove Delete the database first?
Definition at line 474 of file sqlite_cache.cpp.
References CDir::Create(), database, CStopWatch::Elapsed(), Error(), edirect::Execute(), CDir::Exists(), Info(), LOG_POST, CSQLITE3_Cache::m_Database, CSQLITE3_Cache::m_DB, CSQLITE3_Cache::m_WriteQueue, CSQLITE3_Cache::m_WriterThread, msg(), NCBI_CURRENT_FUNCTION, NCBI_THROW, NULL, remove(), CDirEntry::Remove(), CDirEntry::SplitPath(), CStopWatch::Start(), stmt, and sw.
◆ operator=() [1/2] ◆ operator=() [2/2] ◆ PrepareCall() [1/2] ◆ PrepareCall() [2/2] ◆ Purge() [1/2]
Delete BLOBs with access time older than specified.
Function finds all BLOB versions with the specified key and removes the old instances.
-
Parameters
-
key BLOB key subkey BLOB identification subkey access_timeout Time in seconds. All objects older than this are deleted.
Implements ICache.
Definition at line 1038 of file sqlite_cache.cpp.
References count, CTime::eCurrent, CSQLITE3_Cache::GetTimeout(), CTime::GetTimeT(), Info(), ncbi::grid::netcache::search::fields::key, LOG_POST, CSQLITE3_Cache::m_DB, NCBI_CURRENT_FUNCTION, sql, stmt, and ncbi::grid::netcache::search::fields::subkey.
◆ Purge() [2/2] void CSQLITE3_Cache::Purge ( time_t access_timeout ) virtual ◆ PurgeResults() virtual void IStatement::PurgeResults ( ) pure virtual ◆ Read() [1/2]
Fetch the BLOB.
-
Parameters
-
key BLOB identification key subkey BLOB identification subkey version BLOB version buf pointer on destination buffer size buffer size in bytes (chars)
-
Returns
-
FALSE if BLOB doesn't exist or expired
-
Note
-
Throws an exception if provided memory buffer is insufficient to read the BLOB
Implements ICache.
Definition at line 805 of file sqlite_cache.cpp.
References buf, ICache::fTimeStampOnRead, Info(), ncbi::grid::netcache::search::fields::key, LOG_POST, CSQLITE3_Cache::m_DB, CSQLITE3_Cache::m_TimeStampFlag, min(), NCBI_CURRENT_FUNCTION, s_MakeKeyCondition(), ncbi::grid::netcache::search::fields::size, sql, stmt, ncbi::grid::netcache::search::fields::subkey, dtl::version, and CSQLITE3_Cache::x_SetTimestamp().
◆ Read() [2/2] virtual size_t IResultSet::Read ( void * buf, size_t size ) pure virtual
Read unformatted data.
Reads unformatted data, returns bytes actually read. Advances to next column as soon as data is read from the previous one. Returns 0 when the column data is fully read Valid only when the column binding is off (see DisableBind())
-
Parameters
-
buf Buffer to read data. size Amount of data to read.
-
Returns
-
Actual number of bytes read.
Implemented in CResultSet.
◆ Remove() [1/2] ◆ Remove() [2/2] ◆ ResetMode() virtual void IConnection::ResetMode ( EConnMode mode ) pure virtual
Reset connection mode.
-
Parameters
-
Implemented in CConnection.
◆ SameCacheParams() ◆ SendSql() [1/2] void ICallableStatement::SendSql ( const string & sql ) protectedvirtual ◆ SendSql() [2/2] virtual void IStatement::SendSql ( const string & sql ) pure virtual ◆ SetApplicationName() void IDataSource::SetApplicationName ( const string & app_name ) ◆ SetAutoClearInParams() virtual void IStatement::SetAutoClearInParams ( bool flag = true
) pure virtual
Set auto-clear input parameter flag.
-
Parameters
-
flag auto-clear input parameter flag In case when flag == true implicitly clear a statement's parameter list after each Execute, ExecuteUpdate and ExecuteQuery call. Default value
Implemented in CStatement.
◆ SetBlobVersionAsValid() ◆ SetCancelTimeout() virtual void IConnection::SetCancelTimeout ( size_t ) inlinevirtual
Set timeout for command cancellation and connection closing.
Reimplemented in CConnection.
Definition at line 939 of file dbapi.hpp.
◆ SetDatabase() virtual void IConnection::SetDatabase ( const string & name ) pure virtual
Set current database.
-
Parameters
-
name Name of database to set to.
Implemented in CConnection.
◆ SetFlags() virtual void CSQLITE3_Cache::SetFlags ( TFlags flags ) inlinevirtual ◆ SetHints() virtual void IBulkInsert::SetHints ( CTempString hints ) pure virtual ◆ SetLoginTimeout() virtual void IDataSource::SetLoginTimeout ( unsigned int i ) pure virtual ◆ SetLogStream() virtual void IDataSource::SetLogStream ( ostream * out ) pure virtual ◆ SetMemBufferSize() void CSQLITE3_Cache::SetMemBufferSize ( unsigned int buf_size ) ◆ SetMode() virtual void IConnection::SetMode ( EConnMode mode ) pure virtual
Set connection mode.
-
Parameters
-
Implemented in CConnection.
◆ SetOutputParam() ◆ SetParam() [1/3] ◆ SetParam() [2/3] ◆ SetParam() [3/3]
Set input parameter.
-
Parameters
-
v Parameter value. name Parameter name.
Implemented in CCursor.
◆ SetTimeout() virtual void IConnection::SetTimeout ( size_t nof_secs ) pure virtual ◆ SetTimeStampPolicy() void CSQLITE3_Cache::SetTimeStampPolicy ( TTimeStampFlags policy, unsigned int timeout, unsigned int max_timeout = 0
) virtual ◆ SetVersionRetention() void CSQLITE3_Cache::SetVersionRetention ( EKeepVersions policy ) virtual ◆ SQLITE3_Register_Cache() void SQLITE3_Register_Cache ( void ) ◆ Stop() void CSQLITE3_Cache::CWriterThread::Stop ( void ) ◆ Store() ◆ StoreBatch() virtual void IBulkInsert::StoreBatch ( ) pure virtual ◆ StoreSynchronous()
Definition at line 739 of file sqlite_cache.cpp.
References _ASSERT, data, CTime::eCurrent, ICache::eDropAll, ICache::eDropOlder, Error(), CTime::GetTimeT(), ncbi::grid::netcache::search::fields::key, LOG_POST, CSQLITE3_Cache::m_DB, CSQLITE3_Cache::m_Mutex, CSQLITE3_Cache::m_Stmt_Store, CSQLITE3_Cache::m_VersionFlag, CSQLITE3_Cache::Purge(), ncbi::grid::netcache::search::fields::size, sql, ncbi::grid::netcache::search::fields::subkey, and dtl::version.
◆ Update() ◆ Vacuum() bool CSQLITE3_Cache::Vacuum ( ) ◆ WasNull() virtual bool IResultSet::WasNull ( ) pure virtual
Determine if last column was NULL.
Valid only when the column binding is off.
-
Returns
-
Return true if the last column read was NULL.
-
See also
-
DisableBind().
Implemented in CResultSet.
◆ x_SetTimestamp()
Definition at line 681 of file sqlite_cache.cpp.
References CTime::eCurrent, Error(), CTime::GetTimeT(), ncbi::grid::netcache::search::fields::key, LOG_POST, CSQLITE3_Cache::m_DB, CSQLITE3_Cache::m_Mutex, CSQLITE3_Cache::m_Stmt_SetTimestamp, sql, ncbi::grid::netcache::search::fields::subkey, and dtl::version.
Referenced by CSQLITE3_Cache::GetBlobAccess(), CSQLITE3_Cache::GetReadStream(), and CSQLITE3_Cache::Read().
◆ ~CSQLITE3_Cache() CSQLITE3_Cache::~CSQLITE3_Cache ( ) virtual
Definition at line 395 of file sqlite_cache.cpp.
References _ASSERT, _TRACE, SStats::bytes_read, count, Error(), CAtomicCounter::Get(), Info(), LOG_POST, CSQLITE3_Cache::m_Database, CSQLITE3_Cache::m_DB, CSQLITE3_Cache::m_Stmt_GetBlobAccess, CSQLITE3_Cache::m_Stmt_GetReadStream, CSQLITE3_Cache::m_Stmt_HasBlobs_key, CSQLITE3_Cache::m_Stmt_HasBlobs_key_subkey, CSQLITE3_Cache::m_Stmt_SetTimestamp, CSQLITE3_Cache::m_Stmt_Store, CSQLITE3_Cache::m_WriterThread, NCBI_CURRENT_FUNCTION, NULL, SStats::objects_read, s_CacheStats, stmt, SStats::total_time, and Warning().
◆ ~IBulkInsert() ◆ ~ICallableStatement() ICallableStatement::~ICallableStatement ( ) virtual ◆ ~IConnection() IConnection::~IConnection ( ) virtual ◆ ~ICursor() ◆ ~IDataSource() IDataSource::~IDataSource ( ) protectedvirtual ◆ ~IResultSet() IResultSet::~IResultSet ( ) virtual
Destructor.
Clean up the resultset.
Definition at line 110 of file dbapi.cpp.
◆ ~IResultSetMetaData()
Destructor.
Clean up the metadata for the resultset.
Definition at line 132 of file dbapi.cpp.
◆ ~IStatement() IStatement::~IStatement ( ) virtual ◆ buffer ◆ key ◆ kSQLITE3_BlobCacheDriverName ◆ m_Cache ◆ m_Database string CSQLITE3_Cache::m_Database private ◆ m_DB
Definition at line 292 of file sqlite_cache.hpp.
Referenced by CSQLITE3_Cache::GetAccessTime(), CSQLITE3_Cache::GetBlobAccess(), CSQLITE3_Cache::GetReadStream(), CSQLITE3_Cache::GetSize(), CSQLITE3_Cache::HasBlobs(), CSQLITE3_Cache::IsOpen(), CSQLITE3_Cache::Open(), CSQLITE3_Cache::Purge(), CSQLITE3_Cache::Read(), CSQLITE3_Cache::Remove(), CSQLITE3_Cache::StoreSynchronous(), CSQLITE3_Cache::Vacuum(), CSQLITE3_Statement::x_Log(), CSQLITE3_Cache::x_SetTimestamp(), CSQLITE3_Statement::x_Throw(), and CSQLITE3_Cache::~CSQLITE3_Cache().
◆ m_Mutex CMutex CSQLITE3_Cache::m_Mutex private ◆ m_ReadOnly ◆ m_Stmt_GetBlobAccess ◆ m_Stmt_GetReadStream ◆ m_Stmt_HasBlobs_key ◆ m_Stmt_HasBlobs_key_subkey ◆ m_Stmt_SetTimestamp ◆ m_Stmt_Store ◆ m_StopRequest ◆ m_Timeout unsigned int CSQLITE3_Cache::m_Timeout private ◆ m_TimeStampFlag ◆ m_VersionFlag ◆ m_WriteQueue [1/2] ◆ m_WriteQueue [2/2] ◆ m_WriterThread ◆ subkey ◆ timestamp ◆ version ◆ CDriverManager
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4