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

📄 sqlora_8c-source.html

📁 Linux下的操作oracle数据库的连接库
💻 HTML
📖 第 1 页 / 共 5 页
字号:
00140 <a name="l00146"></a><a class="code" href="sqlora_8c.html#a8">00146</a> <span class="preprocessor">#define EXEC_WHEN_THREADING(_cmd) \</span>00147 <span class="preprocessor">     if (THREADS_ENABLED &amp;&amp; OCI_THREADED == _oci_init_mode) { _cmd }</span>00148 <span class="preprocessor"></span><a name="l00153"></a><a class="code" href="sqlora_8c.html#a9">00153</a> <span class="preprocessor">#define UNLOCK_ALL EXEC_WHEN_THREADING(_dbv_unlock(); _env_unlock(); _init_unlock(); )</span>00154 <span class="preprocessor"></span>00155 <span class="preprocessor">#define ENCODE_STH(_sth, _dbh) ((int)(_dbh &lt;&lt; (sizeof(sqlo_stmt_handle_t)/2 * 8) | _sth))</span>00156 <span class="preprocessor"></span>00157 <span class="preprocessor">#define DECODE_STH(_sth) ((ub4) _sth &amp; 0x0000ffff)</span>00158 <span class="preprocessor"></span><span class="preprocessor">#define DECODE_DBH(_sth) ((ub4) (_sth &gt;&gt; (sizeof(sqlo_stmt_handle_t)/2 * 8)) &amp; 0x007fff)</span>00159 <span class="preprocessor"></span>00160 <span class="comment">/*-------------------------------------------------------------------------</span>00161 <span class="comment"> * CONSTANTS</span>00162 <span class="comment"> *-----------------------------------------------------------------------*/</span><a name="l00166"></a><a class="code" href="sqlora_8c.html#a219">00166</a> <span class="keyword">enum</span> <a class="code" href="sqlora_8c.html#a219">_sqlora_constants</a> {                       00167 00168   <a class="code" href="sqlora_8c.html#a219a66">SQLO_MAX_DB</a> = 0x00007fff,           00170   <a class="code" href="sqlora_8c.html#a219a67">SQLO_MAX_CURSORS</a> = 0x0000ffff,      00172   <span class="comment">/* changed the MIN_ sizes for better testing (to make sure we do some reallocations) */</span>00173   <a class="code" href="sqlora_8c.html#a219a68">MIN_BINDP</a> = 1 <span class="comment">/*64*/</span>,               00177   <a class="code" href="sqlora_8c.html#a219a69">MIN_DEFNP</a> = 1 <span class="comment">/*32*/</span>,               00181   <a class="code" href="sqlora_8c.html#a219a70">MIN_OBUF_SIZE</a> = 1 <span class="comment">/*32*/</span>,           00185   <a class="code" href="sqlora_8c.html#a219a71">MIN_COL_NAME_LEN</a> = 1 <span class="comment">/*31*/</span>,        00187   <a class="code" href="sqlora_8c.html#a219a72">MIN_STMT_SIZE</a> =  10 <span class="comment">/* 1024*/</span>,        00189   <a class="code" href="sqlora_8c.html#a219a73">DEF_PREFETCH_ROWS</a> = 100,      00191   <a class="code" href="sqlora_8c.html#a219a74">SQLO_MAX_ERRMSG_LEN</a> = 2047,   00193   <a class="code" href="sqlora_8c.html#a219a75">MAX_PATH_LEN</a> = 512,           00195   <a class="code" href="sqlora_8c.html#a219a76">MAX_VNAME_LEN</a> = 255,          00197   <a class="code" href="sqlora_8c.html#a219a77">MAX_LONG_SIZE</a> = (1024*64),     00199 <span class="preprocessor">#ifdef LIBSQLORA8_TRACE_ENABLED</span>00200 <span class="preprocessor"></span>  <a class="code" href="sqlora_8c.html#a219a78">TRACE_ENABLED</a> = 1      00201 <span class="preprocessor">#else</span>00202 <span class="preprocessor"></span>  <a class="code" href="sqlora_8c.html#a219a78">TRACE_ENABLED</a> = 0      00203 <span class="preprocessor">#endif</span>00204 <span class="preprocessor"></span>00205 00206 };00207 00208 00209 <span class="comment">/*-------------------------------------------------------------------------</span>00210 <span class="comment"> * MACROS</span>00211 <span class="comment"> *-----------------------------------------------------------------------*/</span>00212 <span class="preprocessor">#undef TRUE</span>00213 <span class="preprocessor"></span><span class="preprocessor">#undef FALSE</span>00214 <span class="preprocessor"></span><a name="l00218"></a><a class="code" href="sqlora_8c.html#a13">00218</a> <span class="preprocessor">#define TRUE ((1 == 1))</span>00219 <span class="preprocessor"></span><a name="l00223"></a><a class="code" href="sqlora_8c.html#a14">00223</a> <span class="preprocessor">#define FALSE (!TRUE)</span>00224 <span class="preprocessor"></span>00225 00226 <a name="l00238"></a><a class="code" href="sqlora_8c.html#a15">00238</a> <span class="preprocessor">#define TRACE(p_trace_level, p_cmd)               \</span>00239 <span class="preprocessor">   if ( TRACE_ENABLED &amp;&amp;                          \</span>00240 <span class="preprocessor">       (NULL != _trace_fp) &amp;&amp;                     \</span>00241 <span class="preprocessor">       (_trace_level &gt;= p_trace_level) ) {        \</span>00242 <span class="preprocessor">      { p_cmd }                                   \</span>00243 <span class="preprocessor">      (void) fflush(_trace_fp);                   \</span>00244 <span class="preprocessor">   }</span>00245 <span class="preprocessor"></span>00246 00247 <a name="l00263"></a><a class="code" href="sqlora_8c.html#a16">00263</a> <span class="preprocessor">#define ERRMALLOC(p_dbp, p_ptr, p_len, p_func, p_retcode)       \</span>00264 <span class="preprocessor">{                                                               \</span>00265 <span class="preprocessor">   sqlo_db_struct_ptr_t l_dbp = p_dbp;                          \</span>00266 <span class="preprocessor">   int l_len = p_len;                                           \</span>00267 <span class="preprocessor">   CONST char * l_func = p_func;                                \</span>00268 <span class="preprocessor">   int l_retcode = p_retcode;                                   \</span>00269 <span class="preprocessor">   (p_ptr) = MALLOC((l_len));                                   \</span>00270 <span class="preprocessor">   if ( !(p_ptr) ) {                                            \</span>00271 <span class="preprocessor">     if ( l_dbp ) {                                             \</span>00272 <span class="preprocessor">       sprintf( (l_dbp)-&gt;errmsg,                                \</span>00273 <span class="preprocessor">        "Cannot malloc %u bytes in %s\n",               \</span>00274 <span class="preprocessor">        (unsigned int)(l_len), l_func);                 \</span>00275 <span class="preprocessor">       TRACE(1, (void) fputs((l_dbp)-&gt;errmsg,                   \</span>00276 <span class="preprocessor">                 _get_trace_fp(l_dbp)););       \</span>00277 <span class="preprocessor">     }                                                          \</span>00278 <span class="preprocessor">     l_dbp-&gt;status = l_retcode;                                 \</span>00279 <span class="preprocessor">     </span><span class="comment">/* make sure we release all locks */</span>                       \00280      UNLOCK_ALL;                                                \00281      return l_retcode;                                          \00282    }                                                            \00283    TRACE(4, fprintf( _get_trace_fp(l_dbp),                      \00284                      "Allocated %u bytes in %s\n",              \00285                      (unsigned int) (l_len), l_func););         \00286 }00287 00288 00289 <a name="l00304"></a><a class="code" href="sqlora_8c.html#a17">00304</a> <span class="preprocessor">#define ERREALLOC(p_dbp, p_ptr, p_len, p_func, p_retcode)      \</span>00305 <span class="preprocessor">{                                                              \</span>00306 <span class="preprocessor">   sqlo_db_struct_ptr_t l_dbp = p_dbp;                         \</span>00307 <span class="preprocessor">   int l_len = p_len;                                          \</span>00308 <span class="preprocessor">   CONST char * l_func = p_func;                               \</span>00309 <span class="preprocessor">   int l_retcode = p_retcode;                                  \</span>00310 <span class="preprocessor">   (p_ptr) = REALLOC((p_ptr), (l_len));                        \</span>00311 <span class="preprocessor">   if ( !(p_ptr) ) {                                           \</span>00312 <span class="preprocessor">     if ( l_dbp ) {                                            \</span>00313 <span class="preprocessor">     sprintf( (l_dbp)-&gt;errmsg,                                 \</span>00314 <span class="preprocessor">              "Cannot realloc %u bytes in %s\n",               \</span>00315 <span class="preprocessor">              (unsigned int)(l_len), l_func);                  \</span>00316 <span class="preprocessor">     TRACE( 1, (void) fputs((l_dbp)-&gt;errmsg,                   \</span>00317 <span class="preprocessor">            _get_trace_fp(l_dbp)););                           \</span>00318 <span class="preprocessor">     }                                                         \</span>00319 <span class="preprocessor">     </span><span class="comment">/* make sure we release all locks */</span>                      \00320      l_dbp-&gt;status = p_retcode;                                \00321      UNLOCK_ALL;                                               \00322      return l_retcode;                                         \00323    }                                                           \00324    TRACE(4, fprintf(_get_trace_fp(l_dbp),                      \00325          "Reallocated %u bytes in %s\n",                       \00326          (unsigned int)(l_len), l_func););                     \00327 }00328 00329 00330 <a name="l00340"></a><a class="code" href="sqlora_8c.html#a18">00340</a> <span class="preprocessor">#define CHECK_DBHANDLE(p_dbp, p_dbh, p_func, p_errval)           \</span>00341 <span class="preprocessor">{                                                                \</span>00342 <span class="preprocessor">  int l_dbh = p_dbh;                                             \</span>00343 <span class="preprocessor">  CONST char * l_func = p_func;                                  \</span>00344 <span class="preprocessor">  if ( !VALID_DBH_RANGE(l_dbh) ||                                \</span>00345 <span class="preprocessor">       !_dbv[ l_dbh ] ||                                         \</span>00346 <span class="preprocessor">       !_dbv[ l_dbh ]-&gt;used) {                                   \</span>00347 <span class="preprocessor">    TRACE(1, fprintf(_trace_fp,                                  \</span>00348 <span class="preprocessor">         "Invalid Database handle %d in %s\n",                   \</span>00349 <span class="preprocessor">          l_dbh, l_func););                                      \</span>00350 <span class="preprocessor">    </span><span class="comment">/* make sure we release all locks */</span>                         \00351     UNLOCK_ALL;                                                  \00352     return (p_errval);                                           \00353   }                                                              \00354   p_dbp = _dbv[ l_dbh ];                                         \00355 }00356 

⌨️ 快捷键说明

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