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

📄 query_8h-source.html

📁 FastDb是高效的内存数据库系统
💻 HTML
📖 第 1 页 / 共 4 页
字号:
00580 <span class="preprocessor"></span>00581 <span class="preprocessor">#define USER_FUNC(f) static dbUserFunction f##_descriptor(&amp;f, #f)</span>00582 <span class="preprocessor"></span>00583 <span class="keyword">struct </span>dbInheritedAttribute;00584 <span class="keyword">union  </span>dbSynthesizedAttribute;00585 <a name="l00590"></a><a class="code" href="classdbUserFunctionArgument.html">00590</a> <span class="keyword">class </span>FASTDB_DLL_ENTRY  dbUserFunctionArgument { 00591   <span class="keyword">public</span>:00592     <span class="keyword">enum</span> dbArgumentType { 00593         atInteger, 00594         atBoolean, 00595         atString, 00596         atReal, 00597         atReference, 00598         atRawBinary00599     };  00600     dbArgumentType type; 00601     <span class="keyword">union </span>{00602         real8       realValue;00603         db_int8     intValue;00604         <span class="keywordtype">bool</span>        boolValue;00605         <span class="keywordtype">char</span> <span class="keyword">const</span>* strValue;00606         oid_t       oidValue;00607         <span class="keywordtype">void</span>*       rawValue;00608     } u;00609 00610   <span class="keyword">private</span>:00611     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbDatabase.html">dbDatabase</a>;00612     dbUserFunctionArgument(dbExprNode*             expr, 00613                            dbInheritedAttribute&amp;   iattr, 00614                            dbSynthesizedAttribute&amp; sattr, 00615                            <span class="keywordtype">int</span>                     i);00616 };00617 <a name="l00626"></a><a class="code" href="classdbUserFunction.html">00626</a> <span class="keyword">class </span>FASTDB_DLL_ENTRY dbUserFunction { 00627     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classdbDatabase.html">dbDatabase</a>;00628     <span class="keyword">friend</span> <span class="keyword">class </span>dbCompiler;00629 00630     <span class="keywordtype">void</span>* fptr;00631     <span class="keywordtype">char</span>* name;00632     00633     dbUserFunction* next;00634     <span class="keyword">static</span> dbUserFunction* list;00635 00636     <span class="keyword">enum</span> funcType {00637         fInt2Bool,00638         fReal2Bool,00639         fStr2Bool,00640         fInt2Int,00641         fReal2Int,00642         fStr2Int,00643         fInt2Real,00644         fReal2Real,00645         fStr2Real,00646         fInt2Str,00647         fReal2Str,00648         fStr2Str, 00649         fArg2Bool, 00650         fArg2Int, 00651         fArg2Real, 00652         fArg2Str, 00653         fArgArg2Bool, 00654         fArgArg2Int, 00655         fArgArg2Real, 00656         fArgArg2Str, 00657         fArgArgArg2Bool, 00658         fArgArgArg2Int, 00659         fArgArgArg2Real, 00660         fArgArgArg2Str00661     };00662     <span class="keywordtype">int</span> type;00663 00664     <span class="keywordtype">void</span> bind(<span class="keywordtype">char</span>* name, <span class="keywordtype">void</span>* f, funcType ftype);00665 00666   <span class="keyword">public</span>:00667 00668     <span class="keyword">static</span> dbUserFunction* find(<span class="keywordtype">char</span> <span class="keyword">const</span>* name) { 00669         <span class="keywordflow">for</span> (dbUserFunction* func = list; func != NULL; func = func-&gt;<a class="code" href="classdbUserFunction.html#dbUserFunctionr2">next</a>) { 00670             <span class="keywordflow">if</span> (name == func-&gt;<a class="code" href="classdbUserFunction.html#dbUserFunctionr1">name</a>) { 00671                 <span class="keywordflow">return</span> func;00672             }00673         }00674         <span class="keywordflow">return</span> NULL;00675     }00676     00677     <span class="keywordtype">int</span> getParameterType();00678 00679     <span class="keywordtype">int</span> getNumberOfParameters();00680 00681     dbUserFunction(<span class="keywordtype">bool</span> (*f)(db_int8), <span class="keywordtype">char</span>* name) { 00682         bind(name, (<span class="keywordtype">void</span>*)f, fInt2Bool); 00683     }00684     dbUserFunction(<span class="keywordtype">bool</span> (*f)(real8), <span class="keywordtype">char</span>* name) { 00685         bind(name, (<span class="keywordtype">void</span>*)f, fReal2Bool); 00686     }00687     dbUserFunction(<span class="keywordtype">bool</span> (*f)(<span class="keywordtype">char</span> <span class="keyword">const</span>*), <span class="keywordtype">char</span>* name) { 00688         bind(name, (<span class="keywordtype">void</span>*)f, fStr2Bool); 00689     }00690     dbUserFunction(db_int8 (*f)(db_int8), <span class="keywordtype">char</span>* name) { 00691         bind(name, (<span class="keywordtype">void</span>*)f, fInt2Int); 00692     }00693     dbUserFunction(db_int8 (*f)(real8), <span class="keywordtype">char</span>* name) { 00694         bind(name, (<span class="keywordtype">void</span>*)f, fReal2Int); 00695     }00696     dbUserFunction(db_int8 (*f)(<span class="keywordtype">char</span> <span class="keyword">const</span>*), <span class="keywordtype">char</span>* name) { 00697         bind(name, (<span class="keywordtype">void</span>*)f, fStr2Int); 00698     }00699     dbUserFunction(real8 (*f)(db_int8), <span class="keywordtype">char</span>* name) { 00700         bind(name, (<span class="keywordtype">void</span>*)f, fInt2Real); 00701     }00702     dbUserFunction(real8 (*f)(real8), <span class="keywordtype">char</span>* name) { 00703         bind(name, (<span class="keywordtype">void</span>*)f, fReal2Real); 00704     }00705     dbUserFunction(real8 (*f)(<span class="keywordtype">char</span> <span class="keyword">const</span>*), <span class="keywordtype">char</span>* name) { 00706         bind(name, (<span class="keywordtype">void</span>*)f, fStr2Real); 00707     }00708     dbUserFunction(<span class="keywordtype">char</span>* (*f)(db_int8), <span class="keywordtype">char</span>* name) { 00709         bind(name, (<span class="keywordtype">void</span>*)f, fInt2Str); 00710     }00711     dbUserFunction(<span class="keywordtype">char</span>* (*f)(real8), <span class="keywordtype">char</span>* name) { 00712         bind(name, (<span class="keywordtype">void</span>*)f, fReal2Str); 00713     }00714     dbUserFunction(<span class="keywordtype">char</span>* (*f)(<span class="keywordtype">char</span> <span class="keyword">const</span>*), <span class="keywordtype">char</span>* name) { 00715         bind(name, (<span class="keywordtype">void</span>*)f, fStr2Str); 00716     }00717 00718 00719     dbUserFunction(<span class="keywordtype">bool</span> (*f)(dbUserFunctionArgument&amp;), <span class="keywordtype">char</span>* name) { 00720         bind(name, (<span class="keywordtype">void</span>*)f, fArg2Bool); 00721     }00722     dbUserFunction(<span class="keywordtype">char</span>* (*f)(dbUserFunctionArgument&amp;), <span class="keywordtype">char</span>* name) { 00723         bind(name, (<span class="keywordtype">void</span>*)f, fArg2Str); 00724     }00725     dbUserFunction(db_int8 (*f)(dbUserFunctionArgument&amp;), <span class="keywordtype">char</span>* name) { 00726         bind(name, (<span class="keywordtype">void</span>*)f, fArg2Int); 00727     }00728     dbUserFunction(real8 (*f)(dbUserFunctionArgument&amp;), <span class="keywordtype">char</span>* name) { 00729         bind(name, (<span class="keywordtype">void</span>*)f, fArg2Real); 00730     }00731 00732     dbUserFunction(<span class="keywordtype">bool</span> (*f)(dbUserFunctionArgument&amp;, dbUserFunctionArgument&amp;), <span class="keywordtype">char</span>* name) { 00733         bind(name, (<span class="keywordtype">void</span>*)f, fArgArg2Bool); 00734     }00735     dbUserFunction(<span class="keywordtype">char</span>* (*f)(dbUserFunctionArgument&amp;, dbUserFunctionArgument&amp;), <span class="keywordtype">char</span>* name) { 00736         bind(name, (<span class="keywordtype">void</span>*)f, fArgArg2Str); 00737     }00738     dbUserFunction(db_int8 (*f)(dbUserFunctionArgument&amp;, dbUserFunctionArgument&amp;), <span class="keywordtype">char</span>* name) { 00739         bind(name, (<span class="keywordtype">void</span>*)f, fArgArg2Int); 00740     }00741     dbUserFunction(real8 (*f)(dbUserFunctionArgument&amp;, dbUserFunctionArgument&amp;), <span class="keywordtype">char</span>* name) { 00742         bind(name, (<span class="keywordtype">void</span>*)f, fArgArg2Real); 00743     }00744 00745 00746     dbUserFunction(<span class="keywordtype">bool</span> (*f)(dbUserFunctionArgument&amp;, dbUserFunctionArgument&amp;, dbUserFunctionArgument&amp;), <span class="keywordtype">char</span>* name) { 00747         bind(name, (<span class="keywordtype">void</span>*)f, fArgArgArg2Bool); 00748     }00749     dbUserFunction(<span class="keywordtype">char</span>* (*f)(dbUserFunctionArgument&amp;, dbUserFunctionArgument&amp;, dbUserFunctionArgument&amp;), <span class="keywordtype">char</span>* name) { 00750         bind(name, (<span class="keywordtype">void</span>*)f, fArgArgArg2Str); 00751     }00752     dbUserFunction(db_int8 (*f)(dbUserFunctionArgument&amp;, dbUserFunctionArgument&amp;, dbUserFunctionArgument&amp;), <span class="keywordtype">char</span>* name) { 00753         bind(name, (<span class="keywordtype">void</span>*)f, fArgArgArg2Int); 00754     }00755     dbUserFunction(real8 (*f)(dbUserFunctionArgument&amp;, dbUserFunctionArgument&amp;, dbUserFunctionArgument&amp;), <span class="keywordtype">char</span>* name) { 00756         bind(name, (<span class="keywordtype">void</span>*)f, fArgArgArg2Real); 00757     }00758 };00759 00760 <span class="preprocessor">#endif</span>00761 <span class="preprocessor"></span>00762 00763 </pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Feb 12 13:04:48 2004 for FastDB by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.5 </small></address></body></html>

⌨️ 快捷键说明

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