📄 class_8h-source.html
字号:
00594 <a name="l00598"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn7">00598</a> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* inverseFields;00599 <a name="l00603"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn8">00603</a> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* firstField;00604 <a name="l00608"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn9">00608</a> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>** nextFieldLink;00609 <a name="l00613"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn10">00613</a> <a class="code" href="classdbDatabase.html">dbDatabase</a>* db;00614 <a name="l00618"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn11">00618</a> <span class="keywordtype">bool</span> fixedDatabase;00619 <a name="l00623"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn12">00623</a> <span class="keywordtype">bool</span> isStatic;00624 <a name="l00628"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn13">00628</a> size_t appSize;00629 <a name="l00633"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn14">00633</a> size_t fixedSize;00634 <a name="l00638"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn15">00638</a> size_t nFields;00639 <a name="l00643"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn16">00643</a> size_t nColumns;00644 <a name="l00648"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn17">00648</a> int4 autoincrementCount;00649 00650 <a name="l00656"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorn18">00656</a> dbTableDescriptor* cloneOf;00657 00658 <a name="l00662"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptort0">00662</a> <span class="keyword">typedef</span> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* (*describeFunc)();00663 describeFunc describeComponentsFunc;00664 00668 dbTableDescriptor* clone();00669 00673 size_t totalNamesLength();00674 00686 <span class="keywordtype">int</span> calculateFieldsAttributes(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* fieldsList, 00687 <span class="keywordtype">char</span> <span class="keyword">const</span>* prefix, <span class="keywordtype">int</span> offs, 00688 <span class="keywordtype">int</span> indexMask, <span class="keywordtype">int</span>& attr);00689 00698 <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* 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);00699 00700 <span class="keyword">public</span>:<a name="l00705"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptorp0">00705</a> <span class="keyword">static</span> <span class="keywordtype">int</span> initialAutoincrementCount;00706 <a name="l00710"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora0">00710</a> dbTableDescriptor* getNextTable() { 00711 <span class="keywordflow">return</span> nextDbTable;00712 }00713 00717 <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* findSymbol(<span class="keywordtype">char</span> <span class="keyword">const</span>* name);00718 00719 00723 <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* find(<span class="keywordtype">char</span> <span class="keyword">const</span>* name);00724 00725 <a name="l00730"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora3">00730</a> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* getFirstField() { 00731 <span class="keywordflow">return</span> columns;00732 }00733 <a name="l00738"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora4">00738</a> <span class="keywordtype">int</span> getLastValueOfAutoincrementCount()<span class="keyword"> const </span>{ 00739 <span class="keywordflow">return</span> autoincrementCount;00740 }00741 <a name="l00747"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora5">00747</a> <a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* getNextField(<a class="code" href="classdbFieldDescriptor.html">dbFieldDescriptor</a>* field) { 00748 <span class="keywordflow">if</span> (field != NULL) { 00749 field = field-><a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptorm0">next</a>;00750 <span class="keywordflow">if</span> (field == columns) { 00751 <span class="keywordflow">return</span> NULL;00752 }00753 }00754 <span class="keywordflow">return</span> field;00755 }00756 <a name="l00760"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora6">00760</a> <span class="keywordtype">char</span>* getName() { 00761 <span class="keywordflow">return</span> name;00762 }00763 <a name="l00767"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora7">00767</a> size_t size() { 00768 <span class="keywordflow">return</span> appSize;00769 }00770 00775 <span class="keywordtype">void</span> setFlags();00776 00783 <span class="keywordtype">bool</span> equal(<a class="code" href="classdbTable.html">dbTable</a>* table);00784 00793 <span class="keywordtype">bool</span> match(<a class="code" href="classdbTable.html">dbTable</a>* table, <span class="keywordtype">bool</span> confirmDeleteColumns);00794 00800 <span class="keywordtype">void</span> checkRelationship();00801 <a name="l00806"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora12">00806</a> <a class="code" href="classdbDatabase.html">dbDatabase</a>* getDatabase() { 00807 assert(db != DETACHED_TABLE);00808 <span class="keywordflow">return</span> db; 00809 }00810 00815 <span class="keywordtype">void</span> storeInDatabase(<a class="code" href="classdbTable.html">dbTable</a>* table);00816 00820 <span class="keyword">static</span> <span class="keywordtype">void</span> cleanup();00821 00826 dbTableDescriptor(<a class="code" href="classdbTable.html">dbTable</a>* table);00827 00836 dbTableDescriptor(<span class="keywordtype">char</span> <span class="keyword">const</span>* tableName, <a class="code" href="classdbDatabase.html">dbDatabase</a>* db, size_t objSize, 00837 describeFunc func, dbTableDescriptor* original = NULL);00838 00842 ~dbTableDescriptor();00843 };00844 <a name="l00848"></a><a class="code" href="structdbVarying.html">00848</a> <span class="keyword">struct </span><a class="code" href="structdbVarying.html">dbVarying</a> { 00849 nat4 size; <span class="comment">// number of elements in the array</span>00850 int4 offs; <span class="comment">// offset from the beginning of the record</span>00851 };00852 <a name="l00856"></a><a class="code" href="structdbField.html">00856</a> <span class="keyword">struct </span><a class="code" href="structdbField.html">dbField</a> { 00857 <span class="keyword">enum</span> FieldTypes { 00858 tpBool,00859 tpInt1,00860 tpInt2,00861 tpInt4,00862 tpInt8,00863 tpReal4, 00864 tpReal8, 00865 tpString,00866 tpReference,00867 tpArray,00868 tpMethodBool,00869 tpMethodInt1,00870 tpMethodInt2,00871 tpMethodInt4,00872 tpMethodInt8,00873 tpMethodReal4,00874 tpMethodReal8,00875 tpMethodString,00876 tpMethodReference,00877 tpStructure,00878 tpRawBinary, 00879 tpStdString,00880 tpRectangle,00881 tpUnknown00882 };00883 <a name="l00887"></a><a class="code" href="structdbField.html#dbFieldm0">00887</a> <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="structdbField.html#dbFieldm0">name</a>; 00888 <a name="l00892"></a><a class="code" href="structdbField.html#dbFieldm1">00892</a> <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="structdbField.html#dbFieldm1">tableName</a>; 00893 <a name="l00897"></a><a class="code" href="structdbField.html#dbFieldm2">00897</a> <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="structdbField.html#dbFieldm2">inverse</a>; 00898 00902 <span class="preprocessor">#ifdef OLD_FIELD_DESCRIPTOR_FORMAT</span>00903 <span class="preprocessor"></span> int4 <a class="code" href="structdbField.html#dbFieldm3">type</a>;00904 <span class="preprocessor">#else </span>00905 <span class="preprocessor"></span><span class="preprocessor">#if BYTE_ORDER == BIG_ENDIAN</span>00906 <span class="preprocessor"></span> int4 flags : 24;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -