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

📄 class_8h-source.html

📁 最新版本!fastdb是高效的内存数据库系统
💻 HTML
📖 第 1 页 / 共 5 页
字号:
00233     
<a name="l00237"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm7">00237</a>     <span class="keywordtype">char</span>*              name;
00238 
<a name="l00242"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm8">00242</a>     <span class="keywordtype">char</span>*              longName;
00243 
<a name="l00247"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm9">00247</a>     <span class="keywordtype">char</span>*              refTableName;
00248 
<a name="l00252"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm10">00252</a>     <a class="code" href="classdbTableDescriptor.html">dbTableDescriptor</a>* refTable;
00253 
<a name="l00257"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm11">00257</a>     <a class="code" href="classdbTableDescriptor.html">dbTableDescriptor</a>* defTable;
00258 
<a name="l00262"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm12">00262</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* inverseRef;
00263 
<a name="l00267"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm13">00267</a>     <span class="keywordtype">char</span>*              inverseRefName;  
00268 
<a name="l00272"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm14">00272</a>     <span class="keywordtype">int</span>                type;
00273 
<a name="l00277"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm15">00277</a>     <span class="keywordtype">int</span>                appType;
00278 
<a name="l00282"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm16">00282</a>     <span class="keywordtype">int</span>                indexType;
00283 
<a name="l00287"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm17">00287</a>     <span class="keywordtype">int</span>                dbsOffs;
00288 
<a name="l00292"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm18">00292</a>     <span class="keywordtype">int</span>                appOffs;
00293 
<a name="l00297"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm19">00297</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* components;
00298     
<a name="l00302"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm20">00302</a>     oid_t              hashTable;
00303 
<a name="l00307"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm21">00307</a>     oid_t              tTree;
00308 
<a name="l00312"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm22">00312</a>     size_t             dbsSize;
00313     
<a name="l00317"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm23">00317</a>     size_t             appSize;
00318 
<a name="l00323"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm24">00323</a>     size_t             alignment;
00324 
<a name="l00328"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm25">00328</a>     dbUDTComparator    comparator;
00329 
<a name="l00333"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptors7">00333</a>     <span class="keyword">enum</span> FieldAttributes { 
00334         ComponentOfArray   = 0x01,
00335         HasArrayComponents = 0x02,
00336         OneToOneMapping    = 0x04,
00337         Updated            = 0x08
00338     };
00339     <span class="keywordtype">int</span>                attr;
00340 
<a name="l00344"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm27">00344</a>     <span class="keywordtype">int</span>                oldDbsType;
<a name="l00348"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm28">00348</a>     <span class="keywordtype">int</span>                oldDbsOffs;
<a name="l00352"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm29">00352</a>     <span class="keywordtype">int</span>                oldDbsSize;
00353 
<a name="l00357"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm30">00357</a>     <a class="code" href="classdbAnyMethodTrampoline.html">dbAnyMethodTrampoline</a>* method;
00358 
00362     void (*arrayAllocator)(<a class="code" href="classdbAnyArray.html">dbAnyArray</a>* array, <span class="keywordtype">void</span>* data, size_t length);
00363     
00364 
00375     size_t calculateRecordSize(byte* base, size_t offs);
00376 
00386     size_t calculateNewRecordSize(byte* base, size_t offs);
00387     
00397     size_t convertRecord(byte* dst, byte* src, size_t offs);
00398 
00409     <span class="keywordtype">int</span>    sizeWithoutOneField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* field, 
00410                                byte* base, size_t&amp; size);
00411     
00421     size_t copyRecordExceptOneField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* field, 
00422                                     byte* dst, byte* src, size_t offs); 
00423 
00424     <span class="keyword">enum</span> StoreMode {
00425         Insert,
00426         Update,
00427         Import
00428     };
00429 
00440     size_t storeRecordFields(byte* dst, byte* src, size_t offs, StoreMode mode);
00441 
00449     <span class="keywordtype">void</span> markUpdatedFields(byte* dst, byte* src);
00450 
00458     <span class="keywordtype">void</span> fetchRecordFields(byte* dst, byte* src);
00459 
00468     <span class="keywordtype">void</span> adjustReferences(byte* record, size_t base, size_t size, <span class="keywordtype">long</span> shift);
00469 
00475     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* find(<span class="keyword">const</span> <span class="keywordtype">char</span>* name);
00476 
<a name="l00481"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptora10">00481</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* getFirstComponent() { 
00482         <span class="keywordflow">return</span> components;
00483     }
00484 
<a name="l00489"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptora11">00489</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* getNextComponent(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* field) { 
00490         <span class="keywordflow">if</span> (field != NULL) { 
00491             field = field-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a>;
00492             <span class="keywordflow">if</span> (field == components) { 
00493                 <span class="keywordflow">return</span> NULL;
00494             }
00495         }
00496         <span class="keywordflow">return</span> field;
00497     }
00498         
<a name="l00502"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptora12">00502</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>&amp; operator, (<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>&amp; field) { 
00503         <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* tail = field.<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm1">prev</a>;
00504         tail-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a> = <span class="keyword">this</span>;
00505         prev-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a> = &amp;field;
00506         field.<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm1">prev</a> = prev;
00507         prev = tail;
00508         <span class="keywordflow">return</span> *<span class="keyword">this</span>;
00509     }
00510 
00511     <span class="keywordtype">void</span>* operator new(size_t size EXTRA_DEBUG_NEW_PARAMS);
00512     <span class="keywordtype">void</span>  operator delete(<span class="keywordtype">void</span>* p EXTRA_DEBUG_NEW_PARAMS);
00513 
00517     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>&amp; adjustOffsets(<span class="keywordtype">long</span> offs);
00518 
00528     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* name, size_t offs, size_t size, <span class="keywordtype">int</span> indexType, 
00529                       <span class="keywordtype">char</span> <span class="keyword">const</span>* inverse = NULL,
00530                       <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* components = NULL);
00531 
00536     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* name);
00537 
00541     ~<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>();
00542 };
00543 
00544 
<a name="l00548"></a><a class="code" href="classdbTableDescriptor.html">00548</a> <span class="keyword">class </span>FASTDB_DLL_ENTRY dbTableDescriptor { 
00549     <span class="keyword">friend</span> <span class="keyword">class </span>dbCompiler;
00550     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbDatabase.html">dbDatabase</a>;
00551     <span class="keyword">friend</span> <span class="keyword">class </span>dbReplicatedDatabase;
00552     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbTable.html">dbTable</a>;
00553     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbAnyCursor.html">dbAnyCursor</a>;
00554     <span class="keyword">friend</span> <span class="keyword">class </span>dbSubSql;
00555     <span class="keyword">friend</span> <span class="keyword">class </span>dbHashTable;
00556     <span class="keyword">friend</span> <span class="keyword">class </span>dbTtreeNode;
00557     <span class="keyword">friend</span> <span class="keyword">class </span>dbRtreePage;
00558     <span class="keyword">friend</span> <span class="keyword">class </span>dbServer;
00559     <span class="keyword">friend</span> <span class="keyword">class </span>dbColumnBinding;
00560     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>;
00561     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbAnyContainer.html">dbAnyContainer</a>;
00562     <span class="keyword">friend</span> <span class="keyword">class </span>dbCLI;
00563     <span class="keyword">friend</span> <span class="keyword">class </span>dbSelection;
00564   <span class="keyword">protected</span>:
<a name="l00568"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn0">00568</a>     dbTableDescriptor*  next;
00569     <span class="keyword">static</span> dbTableDescriptor* chain;
00570 
<a name="l00574"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn1">00574</a>     dbTableDescriptor*  nextDbTable; <span class="comment">// next table in the database</span>
00575 
<a name="l00579"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn2">00579</a>     <span class="keywordtype">char</span>*               name;
00580 
<a name="l00584"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn3">00584</a>     oid_t               tableId;
00585 
<a name="l00589"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn4">00589</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>*  columns; 

⌨️ 快捷键说明

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