📄 classdbdatabase.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>dbDatabase class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </center><hr><h1>dbDatabase Class Reference</h1><code>#include <<a class="el" href="database_8h-source.html">database.h</a>></code><p><a href="classdbDatabase-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Methods</h2></td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla6">open</a> (char const *databaseName, char const *fileName=NULL, time_t waitLockTimeoutMsec=INFINITE, time_t commitDelaySec=0)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla7">close</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla8">commit</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla9">precommit</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla10">rollback</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla11">scheduleBackup</a> (char const *fileName, time_t periodSec)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla12">attach</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla13">attach</a> (dbDatabaseThreadContext *ctx)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla14">detach</a> (int flags=COMMIT|DESTROY_CONTEXT)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla15">lock</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla16">backup</a> (char const *file, bool compactify)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla17">backup</a> (dbFile *file, bool compactify)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla18">assign</a> (<a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> &desc)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla19">setConcurrency</a> (unsigned nThreads)</td></tr><tr><td nowrap align=right valign=top>long </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla20">getAllocatedSize</a> ()</td></tr><tr><td nowrap align=right valign=top>long </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla21">getDatabaseSize</a> ()</td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla22">getNumberOfReaders</a> ()</td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla23">getNumberOfWriters</a> ()</td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla24">getNumberOfBlockedReaders</a> ()</td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla25">getNumberOfBlockedWriters</a> ()</td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla26">getNumberOfUsers</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla27">allowColumnsDeletion</a> (bool enabled=true)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla28">prepareQuery</a> (<a class="el" href="classdbAnyCursor.html">dbAnyCursor</a> *cursor, <a class="el" href="classdbQuery.html">dbQuery</a> &query)</td></tr><tr><td nowrap align=right valign=top>dbErrorHandler </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla29">setErrorHandler</a> (dbErrorHandler newHandler, void *errorHandlerContext=NULL)</td></tr><tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbDatabasea24">handleError</a> (dbErrorClass error, char const *msg=NULL, int arg=0)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla30">insertRecord</a> (<a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *table, <a class="el" href="classdbAnyReference.html">dbAnyReference</a> *ref, void const *record)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla31">isOpen</a> () const</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla32">isCommitted</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla33">isAttached</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla34">isUpdateTransaction</a> ()</td></tr><tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla35">getVersion</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla36">setFileSizeLimit</a> (size_t limit)</td></tr><tr><td nowrap align=right valign=top>template<class T> <a class="el" href="classdbReference.html">dbReference</a>< T > </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla37">insert</a> (T const &record)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> * </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla38">lookupTable</a> (<a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *desc)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla39">getMemoryStatistic</a> (dbMemoryStatistic &stat)</td></tr><tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbDatabasea35">dbDatabase</a> (dbAccessType type=dbAllAccess, size_t dbInitSize=dbDefaultInitDatabaseSize, size_t dbExtensionQuantum=dbDefaultExtensionQuantum, size_t dbInitIndexSize=dbDefaultInitIndexSize, int nThreads=1)</td></tr><tr><td nowrap align=right valign=top>virtual </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbDatabasea36">~dbDatabase</a> ()</td></tr><tr><td colspan=2><br><h2>Protected Types</h2></td></tr><tr><td nowrap align=right valign=top>enum </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlt3">dbLockType</a> </td></tr><tr><td colspan=2><br><h2>Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top><a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> * </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb1">loadMetaTable</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb0">commit</a> (dbDatabaseThreadContext *ctx)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb6">restoreTablesConsistency</a> ()</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classdbRecord.html">dbRecord</a> * </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb7">getRow</a> (oid_t oid)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classdbRecord.html">dbRecord</a> * </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb8">putRow</a> (oid_t oid, size_t newSize)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classdbRecord.html">dbRecord</a> * </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb9">putRow</a> (oid_t oid)</td></tr><tr><td nowrap align=right valign=top>byte * </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb10">get</a> (oid_t oid)</td></tr><tr><td nowrap align=right valign=top>byte * </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb11">put</a> (oid_t oid)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb12">isPrefixSearch</a> (<a class="el" href="classdbAnyCursor.html">dbAnyCursor</a> *cursor, dbExprNode *expr, dbExprNode *andExpr, <a class="el" href="classdbFieldDescriptor.html">dbFieldDescriptor</a> *&indexedField)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb13">isIndexApplicable</a> (<a class="el" href="classdbAnyCursor.html">dbAnyCursor</a> *cursor, dbExprNode *expr, dbExprNode *andExpr, <a class="el" href="classdbFieldDescriptor.html">dbFieldDescriptor</a> *&indexedField)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb14">isIndexApplicable</a> (<a class="el" href="classdbAnyCursor.html">dbAnyCursor</a> *cursor, dbExprNode *expr, dbExprNode *andExpr)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb15">followInverseReference</a> (dbExprNode *expr, dbExprNode *andExpr, <a class="el" href="classdbAnyCursor.html">dbAnyCursor</a> *cursor, oid_t iref)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb16">existsInverseReference</a> (dbExprNode *expr, int nExistsClauses)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb17">evaluate</a> (dbExprNode *expr, oid_t oid, <a class="el" href="classdbTable.html">dbTable</a> *table, <a class="el" href="classdbAnyCursor.html">dbAnyCursor</a> *cursor)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb18">select</a> (<a class="el" href="classdbAnyCursor.html">dbAnyCursor</a> *cursor)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb19">select</a> (<a class="el" href="classdbAnyCursor.html">dbAnyCursor</a> *cursor, <a class="el" href="classdbQuery.html">dbQuery</a> &query)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb20">traverse</a> (<a class="el" href="classdbAnyCursor.html">dbAnyCursor</a> *cursor, <a class="el" href="classdbQuery.html">dbQuery</a> &query)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb21">update</a> (oid_t oid, <a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *table, void const *record)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb22">remove</a> (<a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *table, oid_t oid)</td></tr><tr><td nowrap align=right valign=top>offs_t </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb23">allocate</a> (size_t size, oid_t oid=0)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb24">deallocate</a> (offs_t pos, size_t size)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb25">extend</a> (offs_t size)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb26">cloneBitmap</a> (offs_t pos, size_t size)</td></tr><tr><td nowrap align=right valign=top>oid_t </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb27">allocateId</a> (int n=1)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb28">freeId</a> (oid_t oid, int n=1)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb29">updateCursors</a> (oid_t oid, bool removed=false)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbDatabaseb30">recovery</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb30">checkVersion</a> ()</td></tr><tr><td nowrap align=right valign=top>oid_t </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb31">allocateObject</a> (dbInternalObject marker)</td></tr><tr><td nowrap align=right valign=top>oid_t </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb32">allocateRow</a> (oid_t tableId, size_t size)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb33">allocateRow</a> (oid_t tableId, oid_t oid, size_t size)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb34">freeRow</a> (oid_t tableId, oid_t oid)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb35">freeObject</a> (oid_t oid)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb37">endTransaction</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb38">endTransaction</a> (dbDatabaseThreadContext *ctx)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb39">initializeMetaTable</a> ()</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb40">loadScheme</a> (bool alter)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb41">completeDescriptorsInitialization</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb42">reformatTable</a> (oid_t tableId, <a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *desc)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb43">addIndices</a> (bool alter, <a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *desc)</td></tr><tr><td nowrap align=right valign=top>oid_t </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb44">addNewTable</a> (<a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *desc)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb45">updateTableDescriptor</a> (<a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *desc, oid_t tableId)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb46">insertInverseReference</a> (<a class="el" href="classdbFieldDescriptor.html">dbFieldDescriptor</a> *fd, oid_t reverseId, oid_t targetId)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb47">removeInverseReferences</a> (<a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *desc, oid_t oid)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb48">removeInverseReference</a> (<a class="el" href="classdbFieldDescriptor.html">dbFieldDescriptor</a> *fd, oid_t reverseId, oid_t targetId)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb49">deleteTable</a> (<a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *desc)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb50">dropTable</a> (<a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *desc)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb51">createIndex</a> (<a class="el" href="classdbFieldDescriptor.html">dbFieldDescriptor</a> *fd)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb52">createHashTable</a> (<a class="el" href="classdbFieldDescriptor.html">dbFieldDescriptor</a> *fd)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb53">dropIndex</a> (<a class="el" href="classdbFieldDescriptor.html">dbFieldDescriptor</a> *fd)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb54">dropHashTable</a> (<a class="el" href="classdbFieldDescriptor.html">dbFieldDescriptor</a> *fd)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb55">linkTable</a> (<a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *table, oid_t tableId)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb56">unlinkTable</a> (<a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> *table)</td></tr><tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb57">wasReserved</a> (offs_t pos, size_t size)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb58">reserveLocation</a> (dbLocation &location, offs_t pos, size_t size)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb59">commitLocation</a> ()</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> * </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb60">findTable</a> (char const *name)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> * </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb61">findTableByName</a> (char const *name)</td></tr><tr><td nowrap align=right valign=top><a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> * </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb62">getTables</a> ()</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb63">setDirty</a> ()</td></tr><tr><td colspan=2><br><h2>Static Protected Methods</h2></td></tr><tr><td nowrap align=right valign=top>void _fastcall </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqle2">execute</a> (dbExprNode *expr, dbInheritedAttribute &iattr, dbSynthesizedAttribute &sattr)</td></tr><tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqle3">deleteCompiledQuery</a> (dbExprNode *tree)</td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>Database class <p><hr><h2>Member Enumeration Documentation</h2><a name="dbSubSqlt3" doxytag="dbDatabase::dbLockType"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> enum dbDatabase::dbLockType<code> [protected]</code> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Start database transaction <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>modify</em> </td><td>if it is update or read-only rtansaction </td></tr></table></dl><dl compact><dt><b>Returns: </b></dt><dd>true if version of memory mapping object is not obsolete and reallocation is not possible </dl> </td> </tr></table><hr><h2>Constructor & Destructor Documentation</h2><a name="dbDatabasea35" doxytag="dbDatabase::dbDatabase"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> dbDatabase::dbDatabase </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">dbAccessType </td> <td class="mdname" nowrap> <em>type</em> = dbAllAccess, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>size_t </td> <td class="mdname" nowrap> <em>dbInitSize</em> = dbDefaultInitDatabaseSize, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>size_t </td> <td class="mdname" nowrap> <em>dbExtensionQuantum</em> = dbDefaultExtensionQuantum, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>size_t </td> <td class="mdname" nowrap> <em>dbInitIndexSize</em> = dbDefaultInitIndexSize, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>nThreads</em> = 1</td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Database constructor <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>type</em> </td><td>access type: <code>dbDatabase::dbReadOnly</code> or <code>dbDatabase::dbAllAcces</code> </td></tr><tr><td valign=top><em>dbInitSize</em> </td><td>initial size of the database. If FastDB is compiled with DISKLESS_CONFIGURATION option, then in this parameter <b>MAXIMAL</b> size of the database should be specified (in this mode database can not be reallocated) </td></tr><tr><td valign=top><em>dbExtensionQuantum</em> </td><td>quentum for extending memory allocation bitmap </td></tr><tr><td valign=top><em>dbInitIndexSize</em> </td><td>initial index size (objects) </td></tr><tr><td valign=top><em>nThreads</em> </td><td>concurrency level for sequential search and sort operations </td></tr></table></dl><dl compact><dt><b>See also: </b></dt><dd><a class="el" href="classdbDatabase.html#dbSubSqla19">setConcurrency(unsigned nThreads)</a> </dl> </td> </tr></table><a name="dbDatabasea36" doxytag="dbDatabase::~dbDatabase"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> virtual dbDatabase::~dbDatabase </td> <td class="md" valign="top">( </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap><code> [virtual]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Database detructor </td> </tr></table><hr><h2>Member Function Documentation</h2><a name="dbSubSqlb43" doxytag="dbDatabase::addIndices"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> bool dbDatabase::addIndices </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">bool </td> <td class="mdname" nowrap> <em>alter</em>, </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap><a class="el" href="classdbTableDescriptor.html">dbTableDescriptor</a> * </td> <td class="mdname" nowrap> <em>desc</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"><code> [protected]</code></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Add new indices to the table. <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>alter</em> </td><td>if true than indices can be added, otherwise there are some other active clients and adding new indices about which they will not know can lead to inconsistncy </td></tr><tr><td valign=top><em>desc</em> </td><td>new table descriptor </td></tr></table></dl><dl compact><dt><b>Returns: </b></dt><dd>true if indices were succesfully added </dl> </td> </tr></table><a name="dbSubSqlb44" doxytag="dbDatabase::addNewTable"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -