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