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

📄 class_8h-source.html

📁 FastDb是高效的内存数据库系统
💻 HTML
📖 第 1 页 / 共 4 页
字号:
00725             }00726         }00727         <span class="keywordflow">return</span> field;00728     }00729 <a name="l00733"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora5">00733</a>     <span class="keywordtype">char</span>* getName() { 00734         <span class="keywordflow">return</span> name;00735     }00736 00741     <span class="keywordtype">void</span> setFlags();00742 00749     <span class="keywordtype">bool</span> equal(<a class="code" href="classdbTable.html">dbTable</a>* table);00750 00759     <span class="keywordtype">bool</span> match(<a class="code" href="classdbTable.html">dbTable</a>* table, <span class="keywordtype">bool</span> confirmDeleteColumns);00760 00766     <span class="keywordtype">void</span> checkRelationship();00767 <a name="l00772"></a><a class="code" href="classdbTableDescriptor.html#dbTableDescriptora10">00772</a>     <a class="code" href="classdbDatabase.html">dbDatabase</a>* getDatabase() { 00773         assert(db != DETACHED_TABLE);00774         <span class="keywordflow">return</span> db; 00775     }00776 00781     <span class="keywordtype">void</span> storeInDatabase(<a class="code" href="classdbTable.html">dbTable</a>* table);00782 00786     <span class="keyword">static</span> <span class="keywordtype">void</span> cleanup();00787 00792     dbTableDescriptor(<a class="code" href="classdbTable.html">dbTable</a>* table);00793 00802     dbTableDescriptor(<span class="keywordtype">char</span>* tableName, <a class="code" href="classdbDatabase.html">dbDatabase</a>* db, size_t objSize, 00803                       describeFunc func, dbTableDescriptor* original = NULL);00804 00808     ~dbTableDescriptor();00809 };00810 <a name="l00814"></a><a class="code" href="structdbVarying.html">00814</a> <span class="keyword">struct </span><a class="code" href="structdbVarying.html">dbVarying</a> { 00815     nat4 size; <span class="comment">// number of elements in the array</span>00816     int4 offs; <span class="comment">// offset from the beginning of the record</span>00817 };00818 <a name="l00822"></a><a class="code" href="structdbField.html">00822</a> <span class="keyword">struct </span><a class="code" href="structdbField.html">dbField</a> { 00823     <span class="keyword">enum</span> FieldTypes { 00824         tpBool,00825         tpInt1,00826         tpInt2,00827         tpInt4,00828         tpInt8,00829         tpReal4, 00830         tpReal8, 00831         tpString,00832         tpReference,00833         tpArray,00834         tpMethodBool,00835         tpMethodInt1,00836         tpMethodInt2,00837         tpMethodInt4,00838         tpMethodInt8,00839         tpMethodReal4,00840         tpMethodReal8,00841         tpMethodString,00842         tpMethodReference,00843         tpStructure,00844         tpRawBinary, 00845         tpStdString,00846         tpUnknown00847     };00848         <a name="l00852"></a><a class="code" href="structdbField.html#dbFieldo0">00852</a>     <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="structdbField.html#dbFieldo0">name</a>;    00853 <a name="l00857"></a><a class="code" href="structdbField.html#dbFieldo1">00857</a>     <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="structdbField.html#dbFieldo1">tableName</a>; 00858 <a name="l00862"></a><a class="code" href="structdbField.html#dbFieldo2">00862</a>     <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="structdbField.html#dbFieldo2">inverse</a>; 00863     <a name="l00867"></a><a class="code" href="structdbField.html#dbFieldo3">00867</a>     int4      <a class="code" href="structdbField.html#dbFieldo3">type</a>;00868 <a name="l00872"></a><a class="code" href="structdbField.html#dbFieldo4">00872</a>     int4      <a class="code" href="structdbField.html#dbFieldo4">offset</a>; 00873 <a name="l00877"></a><a class="code" href="structdbField.html#dbFieldo5">00877</a>     nat4      <a class="code" href="structdbField.html#dbFieldo5">size</a>;00878 <a name="l00882"></a><a class="code" href="structdbField.html#dbFieldo6">00882</a>     oid_t     <a class="code" href="structdbField.html#dbFieldo6">hashTable</a>;00883 <a name="l00887"></a><a class="code" href="structdbField.html#dbFieldo7">00887</a>     oid_t     <a class="code" href="structdbField.html#dbFieldo7">tTree</a>;00888 };     00889 00890 <a name="l00894"></a><a class="code" href="classdbRecord.html">00894</a> <span class="keyword">class </span><a class="code" href="classdbRecord.html">dbRecord</a> { 00895   <span class="keyword">public</span>:<a name="l00899"></a><a class="code" href="classdbRecord.html#dbTableo8">00899</a>     nat4   <a class="code" href="classdbRecord.html#dbTableo8">size</a>;00900 <a name="l00904"></a><a class="code" href="classdbRecord.html#dbTableo9">00904</a>     oid_t  <a class="code" href="classdbRecord.html#dbTableo9">next</a>;00905 <a name="l00909"></a><a class="code" href="classdbRecord.html#dbTableo10">00909</a>     oid_t  <a class="code" href="classdbRecord.html#dbTableo10">prev</a>;00910 };00911 00912 <a name="l00916"></a><a class="code" href="classdbTable.html">00916</a> <span class="keyword">class </span><a class="code" href="classdbTable.html">dbTable</a> : <span class="keyword">public</span> <a class="code" href="classdbRecord.html">dbRecord</a> { 00917   <span class="keyword">public</span>:<a name="l00921"></a><a class="code" href="classdbTable.html#dbTableo0">00921</a>     <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="classdbTable.html#dbTableo0">name</a>;00922     <a name="l00926"></a><a class="code" href="classdbTable.html#dbTableo1">00926</a>     <a class="code" href="structdbVarying.html">dbVarying</a> <a class="code" href="classdbTable.html#dbTableo1">fields</a>;00927 <a name="l00931"></a><a class="code" href="classdbTable.html#dbTableo2">00931</a>     nat4      <a class="code" href="classdbTable.html#dbTableo2">fixedSize</a>;00932 <a name="l00936"></a><a class="code" href="classdbTable.html#dbTableo3">00936</a>     nat4      <a class="code" href="classdbTable.html#dbTableo3">nRows</a>;00937 <a name="l00941"></a><a class="code" href="classdbTable.html#dbTableo4">00941</a>     nat4      <a class="code" href="classdbTable.html#dbTableo4">nColumns</a>;00942     <a name="l00946"></a><a class="code" href="classdbTable.html#dbTableo5">00946</a>     oid_t     <a class="code" href="classdbTable.html#dbTableo5">firstRow</a>;00947 <a name="l00951"></a><a class="code" href="classdbTable.html#dbTableo6">00951</a>     oid_t     <a class="code" href="classdbTable.html#dbTableo6">lastRow</a>;00952 <span class="preprocessor">#ifdef AUTOINCREMENT_SUPPORT</span>00953 <span class="preprocessor"></span><a name="l00956"></a><a class="code" href="classdbTable.html#dbTableo7">00956</a>     nat4      <a class="code" href="classdbTable.html#dbTableo7">count</a>;00957 <span class="preprocessor">#endif</span>00958 <span class="preprocessor"></span>};00959 00960 <span class="keyword">inline</span> dbFieldDescriptor* dbDescribeRawField(dbFieldDescriptor* fd, dbUDTComparator comparator)00961 {00962     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro15">appType</a> = dbField::tpRawBinary;00963     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro24">alignment</a> = 1;00964     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro25">comparator</a> = comparator;00965     <span class="keywordflow">return</span> fd;00966 }00967 00968 00969 <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt;00970 <span class="keyword">inline</span> dbFieldDescriptor* dbDescribeField(dbFieldDescriptor* fd, T&amp; x) 00971 { 00972     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro15">appType</a> = dbField::tpStructure;00973     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro19">components</a> = x.dbDescribeComponents(fd);00974     <span class="keywordflow">return</span> fd;00975 }00976 00977 <span class="keyword">inline</span> dbFieldDescriptor* dbDescribeField(dbFieldDescriptor* fd, int1&amp;) 00978 { 00979     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro15">appType</a> = dbField::tpInt1; 00980     <span class="keywordflow">return</span> fd;00981 }00982 <span class="keyword">inline</span> dbFieldDescriptor* dbDescribeField(dbFieldDescriptor* fd, int2&amp;) 00983 { 00984     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro15">appType</a> = dbField::tpInt2; 00985     <span class="keywordflow">return</span> fd;00986 }00987 <span class="keyword">inline</span> dbFieldDescriptor* dbDescribeField(dbFieldDescriptor* fd, int4&amp;) 00988 { 00989     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro15">appType</a> = dbField::tpInt4; 00990     <span class="keywordflow">return</span> fd;00991 }00992 <span class="keyword">inline</span> dbFieldDescriptor* dbDescribeField(dbFieldDescriptor* fd, db_int8&amp;) 00993 { 00994     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro15">appType</a> = dbField::tpInt8; 00995     <span class="keywordflow">return</span> fd;00996 }00997 <span class="keyword">inline</span> dbFieldDescriptor* dbDescribeField(dbFieldDescriptor* fd, nat1&amp;) 00998 { 00999     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro15">appType</a> = dbField::tpInt1; 01000     <span class="keywordflow">return</span> fd;01001 }01002 <span class="keyword">inline</span> dbFieldDescriptor* dbDescribeField(dbFieldDescriptor* fd, nat2&amp;) 01003 { 01004     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro15">appType</a> = dbField::tpInt2; 01005     <span class="keywordflow">return</span> fd;01006 }01007 <span class="keyword">inline</span> dbFieldDescriptor* dbDescribeField(dbFieldDescriptor* fd, nat4&amp;) 01008 { 01009     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro15">appType</a> = dbField::tpInt4; 01010     <span class="keywordflow">return</span> fd;01011 }01012 <span class="keyword">inline</span> dbFieldDescriptor* dbDescribeField(dbFieldDescriptor* fd, nat8&amp;) 01013 { 01014     fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro14">type</a> = fd-&gt;<a class="code" href="classdbFieldDescriptor.html#dbFieldDescriptoro15">appType</a> = dbField::tpInt8; 01015     <span class="keywordflow">return</span> fd;01016 }

⌨️ 快捷键说明

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