⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 class_8h-source.html

📁 FastDb是高效的内存数据库系统
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<a name="l00307"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro24">00307</a>     size_t             alignment;00308 <a name="l00312"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro25">00312</a>     dbUDTComparator    comparator;00313 <a name="l00317"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorw4">00317</a>     <span class="keyword">enum</span> FieldAttributes { 00318         ComponentOfArray   = 0x01,00319         HasArrayComponents = 0x02,00320         OneToOneMapping    = 0x04,00321         Updated            = 0x0800322     };00323     <span class="keywordtype">int</span>                attr;00324 <a name="l00328"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro27">00328</a>     <span class="keywordtype">int</span>                oldDbsType;<a name="l00332"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro28">00332</a>     <span class="keywordtype">int</span>                oldDbsOffs;<a name="l00336"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro29">00336</a>     <span class="keywordtype">int</span>                oldDbsSize;00337 <a name="l00341"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro30">00341</a>     <a class="code" href="classdbAnyMethodTrampoline.html">dbAnyMethodTrampoline</a>* method;00342 00346     void (*arrayAllocator)(<a class="code" href="classdbAnyArray.html">dbAnyArray</a>* array, <span class="keywordtype">void</span>* data, size_t length);00347     00348 00359     size_t calculateRecordSize(byte* base, size_t offs);00360 00370     size_t calculateNewRecordSize(byte* base, size_t offs);00371     00381     size_t convertRecord(byte* dst, byte* src, size_t offs);00382 00393     <span class="keywordtype">int</span>    sizeWithoutOneField(dbFieldDescriptor* field, 00394                                byte* base, size_t&amp; size);00395     00405     size_t copyRecordExceptOneField(dbFieldDescriptor* field, 00406                                     byte* dst, byte* src, size_t offs); 00407 00418     size_t storeRecordFields(byte* dst, byte* src, size_t offs, <span class="keywordtype">bool</span> insert);00419 00427     <span class="keywordtype">void</span> markUpdatedFields(byte* dst, byte* src);00428 00436     <span class="keywordtype">void</span> fetchRecordFields(byte* dst, byte* src);00437 00446     <span class="keywordtype">void</span> adjustReferences(byte* record, size_t base, size_t size, <span class="keywordtype">long</span> shift);00447 00453     dbFieldDescriptor* find(<span class="keyword">const</span> <span class="keywordtype">char</span>* name);00454 <a name="l00459"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptora10">00459</a>     dbFieldDescriptor* getFirstComponent() { 00460         <span class="keywordflow">return</span> components;00461     }00462 <a name="l00467"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptora11">00467</a>     dbFieldDescriptor* getNextComponent(dbFieldDescriptor* field) { 00468         <span class="keywordflow">if</span> (field != NULL) { 00469             field = field-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro0">next</a>;00470             <span class="keywordflow">if</span> (field == components) { 00471                 <span class="keywordflow">return</span> NULL;00472             }00473         }00474         <span class="keywordflow">return</span> field;00475     }00476         <a name="l00480"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptora12">00480</a>     dbFieldDescriptor&amp; operator, (dbFieldDescriptor&amp; field) { 00481         dbFieldDescriptor* tail = field.<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro1">prev</a>;00482         tail-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro0">next</a> = <span class="keyword">this</span>;00483         prev-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro0">next</a> = &amp;field;00484         field.<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro1">prev</a> = prev;00485         prev = tail;00486         <span class="keywordflow">return</span> *<span class="keyword">this</span>;00487     }00488 00489     <span class="keywordtype">void</span>* operator new(size_t size EXTRA_DEBUG_NEW_PARAMS);00490     <span class="keywordtype">void</span>  operator delete(<span class="keywordtype">void</span>* p EXTRA_DEBUG_NEW_PARAMS);00491 00495     dbFieldDescriptor&amp; adjustOffsets(<span class="keywordtype">long</span> offs);00496 00506     dbFieldDescriptor(<span class="keywordtype">char</span>* name, <span class="keywordtype">int</span> offs, <span class="keywordtype">int</span> size, <span class="keywordtype">int</span> indexType, 00507                       <span class="keywordtype">char</span>* inverse = NULL,00508                       dbFieldDescriptor* components = NULL);00509 00514     dbFieldDescriptor(<span class="keywordtype">char</span>* name);00515 00519     ~dbFieldDescriptor();00520 };00521 00522 <a name="l00526"></a><a class="code" href="classdbTableDescriptor.html">00526</a> <span class="keyword">class </span>FASTDB_DLL_ENTRY dbTableDescriptor { 00527     <span class="keyword">friend</span> <span class="keyword">class </span>dbCompiler;00528     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbDatabase.html">dbDatabase</a>;00529     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbTable.html">dbTable</a>;00530     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbAnyCursor.html">dbAnyCursor</a>;00531     <span class="keyword">friend</span> <span class="keyword">class </span>dbSubSql;00532     <span class="keyword">friend</span> <span class="keyword">class </span>dbHashTable;00533     <span class="keyword">friend</span> <span class="keyword">class </span>dbTtreeNode;00534     <span class="keyword">friend</span> <span class="keyword">class </span>dbServer;00535     <span class="keyword">friend</span> <span class="keyword">class </span>dbColumnBinding;00536     <span class="keyword">friend</span> <span class="keyword">class </span>dbFieldDescriptor;00537     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbAnyContainer.html">dbAnyContainer</a>;00538     <span class="keyword">friend</span> <span class="keyword">class </span>dbCLI;00539     <span class="keyword">friend</span> <span class="keyword">class </span>dbSelection;00540   <span class="keyword">protected</span>:<a name="l00544"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp0">00544</a>     dbTableDescriptor*  next;00545     <span class="keyword">static</span> dbTableDescriptor* chain;00546 <a name="l00550"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp1">00550</a>     dbTableDescriptor*  nextDbTable; <span class="comment">// next table in the database</span>00551 <a name="l00555"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp2">00555</a>     <span class="keywordtype">char</span>*               name;00556 <a name="l00560"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp3">00560</a>     oid_t               tableId;00561 <a name="l00565"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp4">00565</a>     dbFieldDescriptor*  columns; 00566     <a name="l00570"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp5">00570</a>     dbFieldDescriptor*  hashedFields;00571 <a name="l00575"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp6">00575</a>     dbFieldDescriptor*  indexedFields;00576 <a name="l00580"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp7">00580</a>     dbFieldDescriptor*  inverseFields;00581 <a name="l00585"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp8">00585</a>     dbFieldDescriptor*  firstField;00586 <a name="l00590"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp9">00590</a>     dbFieldDescriptor** nextFieldLink;00591 <a name="l00595"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp10">00595</a>     <a class="code" href="classdbDatabase.html">dbDatabase</a>*         db;00596     <a name="l00600"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp11">00600</a>     <span class="keywordtype">bool</span>                fixedDatabase;00601 <a name="l00605"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp12">00605</a>     <span class="keywordtype">bool</span>                isStatic;00606 <a name="l00610"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp13">00610</a>     size_t              appSize;00611 <a name="l00615"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp14">00615</a>     size_t              fixedSize;00616 <a name="l00620"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp15">00620</a>     size_t              nFields;00621 <a name="l00625"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp16">00625</a>     size_t              nColumns;00626 <a name="l00630"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp17">00630</a>     int4                autoincrementCount;00631 00632 <a name="l00638"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp18">00638</a>     dbTableDescriptor*  cloneOf;00639 00640 <a name="l00644"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorx0">00644</a>     <span class="keyword">typedef</span> dbFieldDescriptor* (*describeFunc)();00645     <a class="code" href="classdbTableDescriptor.html#dbTableDescriptorx0">describeFunc</a>        describeComponentsFunc;00646 00650     dbTableDescriptor*  clone();00651 00655     size_t              totalNamesLength();00656 00668     <span class="keywordtype">int</span> calculateFieldsAttributes(dbFieldDescriptor* fieldsList, 00669                                   <span class="keywordtype">char</span> <span class="keyword">const</span>* prefix, <span class="keywordtype">int</span> offs, 00670                                   <span class="keywordtype">int</span> indexMask, <span class="keywordtype">int</span>&amp; attr);00671 00680     dbFieldDescriptor* buildFieldsList(<a class="code" href="classdbTable.html">dbTable</a>* table, <span class="keywordtype">char</span> <span class="keyword">const</span>* prefix, <span class="keywordtype">int</span> prefixLen, <span class="keywordtype">int</span>&amp; attr);00681 00682   <span class="keyword">public</span>:<a name="l00686"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptors0">00686</a>     <span class="keyword">static</span> <span class="keywordtype">int</span> initialAutoincrementCount;00687 <a name="l00691"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora0">00691</a>     dbTableDescriptor* getNextTable() { 00692         <span class="keywordflow">return</span> nextDbTable;00693     }00694 00698     dbFieldDescriptor* findSymbol(<span class="keywordtype">char</span> <span class="keyword">const</span>* name);00699 00700 00704     dbFieldDescriptor* find(<span class="keywordtype">char</span> <span class="keyword">const</span>* name);00705 00706 <a name="l00711"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora3">00711</a>     dbFieldDescriptor* getFirstField() { 00712         <span class="keywordflow">return</span> columns;00713     }00714 <a name="l00720"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora4">00720</a>     dbFieldDescriptor* getNextField(dbFieldDescriptor* field) { 00721         <span class="keywordflow">if</span> (field != NULL) { 00722             field = field-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro0">next</a>;00723             <span class="keywordflow">if</span> (field == columns) { 00724                 <span class="keywordflow">return</span> NULL;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -