📄 sqlora_8c-source.html
字号:
00817 00818 00819 00834 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a58">_trace_level</a> = 0; 00835 00836 00837 00844 <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="sqlora_8c.html#a59">_trace_file</a>[<a class="code" href="sqlora_8c.html#a219a75">MAX_PATH_LEN</a>+1] = <span class="stringliteral">""</span>;00845 00846 00847 00848 <span class="comment">/* These handles are needed by the Oracle OCIThread package.</span>00849 <span class="comment"> * We cannot use the ones in _dbv, because this is the structure</span>00850 <span class="comment"> * we want to protect.</span>00851 <span class="comment"> */</span>00852 <span class="preprocessor">#ifdef ENABLE_ORATHREADS</span>00853 <span class="preprocessor"></span><span class="keyword">static</span> OCIEnv *_oci_envhp;00854 <span class="keyword">static</span> OCIError *_oci_errhp;00855 <span class="preprocessor">#endif</span>00856 <span class="preprocessor"></span>00857 00858 00863 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="sqlora_8c.html#a60">DEFAULT_TRACE_FNAME</a> = <span class="stringliteral">"sqlora8.trc"</span>; 00864 <a name="l00865"></a><a class="code" href="sqlora_8c.html#a61">00865</a> <span class="keyword">static</span> FILE * <a class="code" href="sqlora_8c.html#a61">_trace_fp</a> = NULL; <a name="l00867"></a><a class="code" href="sqlora_8c.html#a62">00867</a> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a62">_session_count</a> = 0; <a name="l00869"></a><a class="code" href="sqlora_8c.html#a63">00869</a> <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="sqlora_8c.html#a63">_errmsg</a>[<a class="code" href="sqlora_8c.html#a219a74">SQLO_MAX_ERRMSG_LEN</a>+1]; 00871 <span class="comment">/*---------------------------------------------------------------------------</span>00872 <span class="comment"> * PROTOTYPES</span>00873 <span class="comment"> *--------------------------------------------------------------------------*/</span>00874 00875 00876 <span class="comment">/* functions needed in threaded mode */</span>00877 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a82">_init_mutexes</a> __P((<span class="keywordtype">void</span>));00878 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a83">_dbv_lock</a> __P((<span class="keywordtype">void</span>));00879 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a84">_dbv_unlock</a> __P((<span class="keywordtype">void</span>));00880 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a85">_env_lock</a> __P((<span class="keywordtype">void</span>));00881 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a86">_env_unlock</a> __P((<span class="keywordtype">void</span>));00882 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a87">_init_lock</a> __P((<span class="keywordtype">void</span>));00883 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a88">_init_unlock</a> __P((<span class="keywordtype">void</span>));00884 00885 <span class="preprocessor">#ifdef ENABLE_WINTHREADS</span>00886 <span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">int</span> _winmutex_lock __P((sqlo_mutex_t mp));00887 <span class="keyword">static</span> <span class="keywordtype">int</span> _winmutex_unlock __P((sqlo_mutex_t mp));00888 <span class="preprocessor">#endif</span>00889 <span class="preprocessor"></span>00890 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a89">_init_init_mux</a> __P((<span class="keywordtype">void</span>));00891 00892 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a90">_sqlo_getenv</a> __P((<span class="keywordtype">void</span>));00893 00894 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a91">_save_oci_status</a> __P((sqlo_db_struct_ptr_t dbp, 00895 <span class="keyword">const</span> <span class="keywordtype">char</span> *action, 00896 <span class="keyword">const</span> <span class="keywordtype">char</span> *object, 00897 <span class="keywordtype">int</span> lineno));00898 00899 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a92">_bind_argv</a> __P(( sqlo_stmt_struct_ptr_t stp, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> argc, <span class="keyword">const</span> <span class="keywordtype">char</span> ** argv));00900 00901 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a93">_bind_by_pos</a> __P((sqlo_stmt_struct_ptr_t stp, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> param_pos, <span class="keywordtype">int</span> param_type,00902 <span class="keyword">const</span> <span class="keywordtype">void</span> * param_addr, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> param_size,00903 <span class="keywordtype">short</span> * ind_addr, <span class="keywordtype">int</span> is_array));00904 00905 <span class="keyword">static</span> <span class="keywordtype">int</span> _bind_by_pos2 __P((sqlo_stmt_struct_ptr_t stp, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> param_pos, <span class="keywordtype">int</span> param_type,00906 <span class="keyword">const</span> <span class="keywordtype">void</span> * param_addr, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> param_size,00907 <span class="keywordtype">short</span> * ind_addr, <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> * rcode_addr, 00908 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> skip_size));00909 00910 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="sqlora_8c.html#a95">_strip_string</a> __P((<span class="keywordtype">char</span> *s, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> len));00911 00912 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a96">_define_ocol_by_pos</a> __P((sqlo_stmt_struct_ptr_t stp, <a class="code" href="struct__sqlo__col__struct.html">sqlo_col_struct_t</a> *colp, 00913 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pos));00914 00915 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a97">_define_output</a> __P((sqlo_stmt_struct_ptr_t stp));00916 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a98">_open_global_trace_file</a> __P((<span class="keywordtype">void</span>));00917 00918 <span class="preprocessor">#if 0</span>00919 <span class="preprocessor"></span><span class="keyword">static</span> <span class="keywordtype">int</span> _close_global_trace_file __P((<span class="keywordtype">void</span>));00920 <span class="preprocessor">#endif</span>00921 <span class="preprocessor"></span>00922 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a99">_open_session_trace_file</a> __P((sqlo_db_struct_ptr_t dbp));00923 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a100">_close_session_trace_file</a> __P((sqlo_db_struct_ptr_t dbp));00924 00925 <span class="keyword">static</span> <a class="code" href="sqlora_8c.html#a35">sqlo_stmt_struct_ptr_t</a> <a class="code" href="sqlora_8c.html#a101">_get_stmt_ptr</a> __P((const_sqlo_db_struct_ptr_t dbp));00926 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a102">_stmt_new</a> __P((sqlo_db_struct_ptr_t dbp, <span class="keyword">const</span> <span class="keywordtype">char</span> * stmt, sqlo_stmt_struct_ptr_t *stpp));00927 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="sqlora_8c.html#a103">_stmt_release</a> __P((sqlo_stmt_struct_ptr_t stp));00928 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="sqlora_8c.html#a104">_bindpv_reset</a> __P((sqlo_stmt_struct_ptr_t stp));00929 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a105">_stmt_init</a> __P((sqlo_stmt_struct_ptr_t stp, sqlo_db_struct_ptr_t dbp, <span class="keyword">const</span> <span class="keywordtype">char</span> *stmt));00930 00931 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="sqlora_8c.html#a106">_get_stmt_type_str</a> __P((<span class="keywordtype">int</span> stype));00932 00933 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a107">_is_query</a> __P((sqlo_stmt_struct_ptr_t stp));00934 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a108">_is_plsql</a> __P((sqlo_stmt_struct_ptr_t stp));00935 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a109">_is_prepared</a> __P((sqlo_stmt_struct_ptr_t stp));00936 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a110">_is_opened</a> __P((sqlo_stmt_struct_ptr_t stp));00937 00938 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="sqlora_8c.html#a111">_get_data_type_str</a> __P((<span class="keywordtype">int</span> dtype));00939 <span class="keyword">static</span> <a class="code" href="sqlora_8c.html#a30">sqlo_db_struct_ptr_t</a> <a class="code" href="sqlora_8c.html#a112">_db_add</a> __P((<span class="keywordtype">void</span>));00940 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="sqlora_8c.html#a113">_db_release</a> __P((sqlo_db_struct_ptr_t dbp));00941 00942 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a114">_define_by_pos</a> __P((sqlo_stmt_struct_ptr_t stp, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> value_pos, 00943 <span class="keywordtype">int</span> value_type, <span class="keyword">const</span> <span class="keywordtype">void</span> * value_addr, 00944 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> value_size, <span class="keywordtype">short</span> * ind_addr, 00945 ub2 * rlen_addr, ub2 * rcode_addr, <span class="keywordtype">int</span> is_array));00946 00947 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a115">_define_by_pos2</a> __P((sqlo_stmt_struct_ptr_t stp, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> value_pos, 00948 <span class="keywordtype">int</span> value_type, <span class="keyword">const</span> <span class="keywordtype">void</span> * value_addr, 00949 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> value_size, <span class="keywordtype">short</span> * ind_addr, 00950 ub2 * rlen_addr, ub2 * rcode_addr, 00951 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> skip_size));00952 00953 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a116">_calc_obuf_size</a> __P(( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *bufsizep, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> data_type,00954 <span class="keywordtype">int</span> prec, <span class="keywordtype">int</span> scale, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dbsize));00955 00956 00957 <span class="keyword">static</span> <span class="keywordtype">int</span> _get_blocking_mode __P((sqlo_db_struct_ptr_t dbp, <span class="keywordtype">unsigned</span> * blocking));00958 00959 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a118">_get_errcode</a> __P(( sqlo_db_struct_ptr_t dbp));00960 00961 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a119">_set_prefetch_rows</a> __P((sqlo_stmt_struct_ptr_t stp, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nrows));00962 00963 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="sqlora_8c.html#a120">_get_stmt_string</a> __P((sqlo_stmt_struct_ptr_t stp));00964 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a121">_get_stmt_state</a> __P((sqlo_stmt_struct_ptr_t stp));00965 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a122">_alloc_definep</a> __P((sqlo_stmt_struct_ptr_t stp, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> size));00966 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="sqlora_8c.html#a123">_dealloc_definep</a> __P((sqlo_stmt_struct_ptr_t stp));00967 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a124">_alloc_bindp</a> __P((sqlo_stmt_struct_ptr_t stp, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> size));00968 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="sqlora_8c.html#a125">_dealloc_bindp</a> __P((sqlo_stmt_struct_ptr_t stp));00969 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="sqlora_8c.html#a126">_close_all_db_cursors</a> __P((const_sqlo_db_struct_ptr_t dbp));00970 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="sqlora_8c.html#a127">_close_all_executing_cursors</a> __P((const_sqlo_db_struct_ptr_t dbp));00971 <span class="keyword">static</span> FILE * <a class="code" href="sqlora_8c.html#a128">_get_trace_fp</a> __P((const_sqlo_db_struct_ptr_t dbp));00972 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="sqlora_8c.html#a129">_prepare</a> __P((sqlo_stmt_struct_ptr_t stp, <span class="keywor
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -