📄 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>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla7">open</a> (<a class="el" href="structdbDatabase_1_1OpenParameters.html">OpenParameters</a> &params)</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla8">close</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla9">commit</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla10">precommit</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla11">rollback</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla12">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#dbSubSqla13">attach</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla14">attach</a> (dbDatabaseThreadContext *ctx)</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla15">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#dbSubSqla16">lock</a> (dbLockType lock=dbExclusiveLock)</td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla17">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#dbSubSqla18">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#dbSubSqla19">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#dbSubSqla20">setConcurrency</a> (unsigned nThreads)</td></tr>
<tr><td nowrap align=right valign=top>long </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla21">getAllocatedSize</a> ()</td></tr>
<tr><td nowrap align=right valign=top>long </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla22">getDatabaseSize</a> ()</td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla23">getNumberOfReaders</a> ()</td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla24">getNumberOfWriters</a> ()</td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla25">getNumberOfBlockedReaders</a> ()</td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla26">getNumberOfBlockedWriters</a> ()</td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla27">getNumberOfUsers</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla28">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#dbSubSqla29">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#dbSubSqla30">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#dbDatabasea25">handleError</a> (dbErrorClass error, char const *msg=NULL, int arg=0)</td></tr>
<tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla31">formatErrorMessage</a> (char *buf, size_t bufSize, dbErrorClass error, char const *msg=NULL, int arg=0)</td></tr>
<tr><td nowrap align=right valign=top>virtual void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla32">fatalError</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla33">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#dbSubSqla34">isOpen</a> () const</td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla35">isCommitted</a> ()</td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla36">isAttached</a> ()</td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla37">isUpdateTransaction</a> ()</td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla38">getVersion</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla39">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#dbSubSqla40">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#dbSubSqla41">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#dbSubSqla42">getMemoryStatistic</a> (dbMemoryStatistic &stat)</td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla43">getNumberOfProceededTransactions</a> ()</td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbDatabasea39">isValidOid</a> (oid_t oid)</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla44">exportDatabaseToXml</a> (FILE *out)</td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla45">importDatabaseFromXml</a> (FILE *in)</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqla46">setFixedSizeAllocator</a> (size_t minSize, size_t maxSize, size_t quantum, size_t bufSize)</td></tr>
<tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbDatabasea43">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#dbDatabasea44">~dbDatabase</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#dbSubSqlb7">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#dbSubSqlb13">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#dbSubSqlb14">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#dbSubSqlb15">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#dbSubSqlb16">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#dbSubSqlb17">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#dbSubSqlb18">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#dbSubSqlb19">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#dbSubSqlb20">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#dbSubSqlb21">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#dbSubSqlb22">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#dbSubSqlb23">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#dbSubSqlb24">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#dbSubSqlb25">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#dbSubSqlb26">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#dbSubSqlb27">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#dbSubSqlb28">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#dbSubSqlb29">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#dbSubSqlb30">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#dbSubSqlb31">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#dbSubSqlb32">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#dbSubSqlb33">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#dbSubSqlb34">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#dbSubSqlb35">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#dbSubSqlb36">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#dbDatabaseb37">recovery</a> ()</td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb37">checkVersion</a> ()</td></tr>
<tr><td nowrap align=right valign=top>oid_t </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb38">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#dbSubSqlb39">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#dbSubSqlb40">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#dbSubSqlb41">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#dbSubSqlb42">freeObject</a> (oid_t oid)</td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb43">beginTransaction</a> (dbLockType)</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb44">endTransaction</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb45">endTransaction</a> (dbDatabaseThreadContext *ctx)</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb47">initializeMetaTable</a> ()</td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb48">loadScheme</a> (bool alter)</td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb49">completeDescriptorsInitialization</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb50">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#dbSubSqlb51">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#dbSubSqlb52">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#dbSubSqlb53">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#dbSubSqlb54">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#dbSubSqlb55">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#dbSubSqlb56">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#dbSubSqlb57">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#dbSubSqlb58">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#dbSubSqlb59">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#dbSubSqlb60">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#dbSubSqlb61">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#dbSubSqlb62">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#dbSubSqlb63">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#dbSubSqlb64">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#dbSubSqlb65">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#dbSubSqlb66">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#dbSubSqlb67">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#dbSubSqlb68">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#dbSubSqlb69">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#dbSubSqlb70">getTables</a> ()</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb71">setDirty</a> ()</td></tr>
<tr><td nowrap align=right valign=top>bool </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb72">isFree</a> (offs_t pos, int objBitSize)</td></tr>
<tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="classdbDatabase.html#dbSubSqlb73">markAsAllocated</a> (offs_t pos, int objBitSize)</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>Constructor & Destructor Documentation</h2>
<a name="dbDatabasea43" 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>
quantum 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#dbSubSqla20">setConcurrency(unsigned nThreads)</a> </dl> </td>
</tr>
</table>
<a name="dbDatabasea44" 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="dbSubSqlb51" 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="dbSubSqlb52" doxytag="dbDatabase::addNewTable"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -