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

📄 class_8h-source.html

📁 俄罗斯牛人KK的作品,著名的ORDBMS,这里上传最新的3.39版本源代码.希望了解对象关系数据库的同好,请不要错过.
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00232"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm6">00232</a>     <span class="keywordtype">int</span>                fieldNo;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#dbFieldDescriptors4">00333</a>     <span class="keyword">enum</span> FieldAttributes { 00334         ComponentOfArray   = 0x01,00335         HasArrayComponents = 0x02,00336         OneToOneMapping    = 0x04,00337         Updated            = 0x0800338     };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 00434     size_t storeRecordFields(byte* dst, byte* src, size_t offs, <span class="keywordtype">bool</span> insert);00435 00443     <span class="keywordtype">void</span> markUpdatedFields(byte* dst, byte* src);00444 00452     <span class="keywordtype">void</span> fetchRecordFields(byte* dst, byte* src);00453 00462     <span class="keywordtype">void</span> adjustReferences(byte* record, size_t base, size_t size, <span class="keywordtype">long</span> shift);00463 00469     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* find(<span class="keyword">const</span> <span class="keywordtype">char</span>* name);00470 <a name="l00475"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptora10">00475</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* getFirstComponent() { 00476         <span class="keywordflow">return</span> components;00477     }00478 <a name="l00483"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptora11">00483</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* getNextComponent(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* field) { 00484         <span class="keywordflow">if</span> (field != NULL) { 00485             field = field-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a>;00486             <span class="keywordflow">if</span> (field == components) { 00487                 <span class="keywordflow">return</span> NULL;00488             }00489         }00490         <span class="keywordflow">return</span> field;00491     }00492         <a name="l00496"></a><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptora12">00496</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>&amp; operator, (<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>&amp; field) { 00497         <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* tail = field.<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm1">prev</a>;00498         tail-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a> = <span class="keyword">this</span>;00499         prev-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a> = &amp;field;00500         field.<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm1">prev</a> = prev;00501         prev = tail;00502         <span class="keywordflow">return</span> *<span class="keyword">this</span>;00503     }00504 00505     <span class="keywordtype">void</span>* operator new(size_t size EXTRA_DEBUG_NEW_PARAMS);00506     <span class="keywordtype">void</span>  operator delete(<span class="keywordtype">void</span>* p EXTRA_DEBUG_NEW_PARAMS);00507 00511     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>&amp; adjustOffsets(<span class="keywordtype">long</span> offs);00512 00522     <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, 00523                       <span class="keywordtype">char</span> <span class="keyword">const</span>* inverse = NULL,00524                       <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* components = NULL);00525 00530     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* name);00531 00535     ~<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>();00536 };00537 00538 <a name="l00542"></a><a class="code" href="classdbTableDescriptor.html">00542</a> <span class="keyword">class </span>FASTDB_DLL_ENTRY dbTableDescriptor { 00543     <span class="keyword">friend</span> <span class="keyword">class </span>dbCompiler;00544     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbDatabase.html">dbDatabase</a>;00545     <span class="keyword">friend</span> <span class="keyword">class </span>dbReplicatedDatabase;00546     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbTable.html">dbTable</a>;00547     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbAnyCursor.html">dbAnyCursor</a>;00548     <span class="keyword">friend</span> <span class="keyword">class </span>dbSubSql;00549     <span class="keyword">friend</span> <span class="keyword">class </span>dbHashTable;00550     <span class="keyword">friend</span> <span class="keyword">class </span>dbTtreeNode;00551     <span class="keyword">friend</span> <span class="keyword">class </span>dbRtreePage;00552     <span class="keyword">friend</span> <span class="keyword">class </span>dbServer;00553     <span class="keyword">friend</span> <span class="keyword">class </span>dbColumnBinding;00554     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>;00555     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbAnyContainer.html">dbAnyContainer</a>;00556     <span class="keyword">friend</span> <span class="keyword">class </span>dbCLI;00557     <span class="keyword">friend</span> <span class="keyword">class </span>dbSelection;00558   <span class="keyword">protected</span>:<a name="l00562"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn0">00562</a>     dbTableDescriptor*  next;00563     <span class="keyword">static</span> dbTableDescriptor* chain;00564 <a name="l00568"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn1">00568</a>     dbTableDescriptor*  nextDbTable; <span class="comment">// next table in the database</span>00569 <a name="l00573"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn2">00573</a>     <span class="keywordtype">char</span>*               name;00574 <a name="l00578"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn3">00578</a>     oid_t               tableId;00579 <a name="l00583"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn4">00583</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>*  columns; 00584     <a name="l00588"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn5">00588</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>*  hashedFields;00589 <a name="l00593"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn6">00593</a>     <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>*  indexedFields;

⌨️ 快捷键说明

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