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