📄 class_8h-source.html
字号:
<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& 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-><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>& operator, (<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>& field) { 00497 <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* tail = field.<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm1">prev</a>;00498 tail-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a> = <span class="keyword">this</span>;00499 prev-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a> = &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>& 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 + -