📄 changelog
字号:
2004-06-13 kpoitschke <kai[_at_]poitschke.de> * sqlora.c: Deallocate all memory allocated for input and output bind variables of statements when a database connection is closed. On a normal sqlo_close they will not be deallocated, to make the easily available for the next statement. Inserted lots of (paranoid) assertions. Hope the cause not more trouble than they help finding problems.2004-05-29 kpoitschke <kai[_at_]poitschke.de> * sqlora.c (_sqlo_execute): Fixed missing status save when an error occurs.2004-05-28 kpoitschke <kai[_at_]poitschke.de> * sqlora.c (_define_by_pos): Fixed bug when num_defnpv gets greater than defnpv_size. Put in some assertions to check these cases.2004-03-20 kpoitschke <kai[_at_]poitschke.de> * acoracle.m4 (ACX_ORACLE_VERSION): Added configure parameter --with-oraversion=major.minor to let the user specify the Oracle client version. Used to tell configure the oracle version in cases where configure cannot find it out itself, because sqlplus or svrmgrl is not installed on the client side. 2004-02-26 kpoitschke <kai[_at_]poitschke.de> * sqlora.c (sqlo_open, sqlo_open2): In case of an error (parse, etc.) the stmt is closed. No need to call sqlo_close on an invalid sth. 2004-02-05 kpoitschke <kai[_at_]poitschke.de> * sqlora.c (sqlo_connect, sqlo_finish): Make sure all resources are freed when one of this functions fail because of an unavailable database.2004-01-03 kpoitschke <kai[_at_]poitschke.de> * Released 2.3.0pre10 * sqlora.c (sqlo_ocol_names2): New function which returns the vector as a parameter and returning the status in the function return code. See example ex7.c for usage. sqlo_ocol_names and sqlo_ocol_names2 work now also when using sqlo_define_by_pos to define the output columns.2003-12-15 kpoitschke <kai[_at_]poitschke.de> * sqlora.c: Added support of windows threads. Thanks to Murat Eren (murat.eren[_at_]yahoo.com) who supplied this patch.2003-12-02 kpoitschke <kai[_at_]poitschke.de> * sqlora.c (sqlo_init): Added more initialization for the oracle threads.2003-08-14 kpoitschke <kai[_at_]poitschke.de> * Released 2.3.0pre9 * sqlora.c (sqlo_execute): Fixed a memory problem when doing one parse and lots of bind_by_name and executes.2003-07-28 kpoitschke <kai[_at_]poitschke.de> * Released 2.3.0pre8 * sqlora.c (_save_oci_status): Store where the error happened only when --enable-debug was configured. Otherwise, the plain Oracle error is stored.2003-07-28 kpoitschke <kai[_at_]poitschke.de> * sqlora.c (_db_release): Fixed a memory leak when using Oracle Threads Destroy the oracle thread_id when releasing a database.2003-06-16 kpoitschke <kai[_at_]poitschke.de> * sqlora.c (sqlo_init): Protect sqlo_init from multiple calls. Should also work in with POSIX threads, but not with ORACLE Threads :(2003-06-11 kpoitschke <kai[_at_]poitschke.de> * acoracle.m4 (ORACLE_LIBDIR): Use $ORACLE_HOME/lib32 if present in favour of $ORACLE_HOME/lib. Helps on Solaris9 and maybe on other 64bit OS too.2002-12-06 Kai Poitschke <kai[_at_]poitschke.de> * sqlora.c (_stmt_init): Fixed a malloc bug for statements >= 1024 bytes.2002-11-27 Kai Poitschke <kai[_at_]poitschke.de> * acoracle.m4 (AM_PATH_ORACLE): Fixed configure/link problems on AIX. * sqlora.c: Fixed compiler warnings concening invalid parameter type in printf on systems where sizeof() return type is unsigned long. 2002-10-30 Kai Poitschke <kai[_at_]poitschke.de> * sqlora.c (_db_add): Changed the storage of open statements. They are not indirect anymore by pointers to statements. Instead the _max_cursors number of statement structures is allocated when a database connection is created. Avoids an indirection when accessing statement structures. Attention: May cause a big memory footprint if you set the max. number of cursors to a really high number.2002-10-30 Kai Poitschke <kai[_at_]poitschke.de> * configure.in/acoracle.m4/acinclude.m4: Changed all AC_DEFINE, so they include the description of the parameter (new autoconf feature).2002-09-24 Kai Poitschke <kai[_at_]poitschke.de> * Released 2.3.0pre2 * sqlora.c (sqlo_server_free): Added this new function to savely release a server connection if the connection got broken. Thanks to Jean-Pierre Brunod <j.brunot[_at_].inwind.it> on pointing me to this issue. 2002-08-25 Kai Poitschke <kai[_at_]poitschke.de> * _db_release: Close open trace files * _get_trace_fp: Return in any case a valid fp. If nothing works, stderr will be returned.2002-08-25 Kai Poitschke <kai[_at_]poitschke.de> * sqlora.c: Removed global _stmtv and allocate a statement vector per database connection. This removes the big lock and I don't have to check anymore if the operation on a cursor is done from the same of another thread. Should increase the performance of MT applications. 2002-08-24 Kai Poitschke <kai[_at_]poitschke.de> * sqlora.c (sqlo_reopen, sqlo_fetch): This function closed internally the cursor, if an error occured. If the user did this also, the user probably closed a cursor which was already opened by another thread, which caused corruption in the internal data structure and strange effects for the user. Generally speaking, multiple sqlo_close were not safe. Now sqlo_close checks if the cursor was really opened by the closing thread. A better solution would be to store statement handles locally per database handle and make statement handle values unique across multiple connections. This would mean we don't have to lock the statement handle vector anymore, which means much less locks and hopefully a better performance. The drawback would be a lower limit of available dbh's (32768) and sth's (65535 per connection), which is not a too hard limit IMHO. * sqlora.c (sqlo_server_attach): Protect OCIEnvCreate by a mutex lock. Looks like OCIEnvCreate is not thread safe, so we better protect it. * sqlora.c (sqlo_close): Close cursor (means release any resources) even if the cursor is not opened or prepared. * sqlora.c (sqlo_close): Check if the cursor we want to close is really opened by this thread. * sqlora.h: Added missing prototype and documentation of sqlo_get_stmt. * sqlora.c (sqlo_values, sqlo_ocol_names, sqlo_ocol_name_len) Set *num to 0, if function returns NULL, in case of errors. Of course this only done if num != NULL. * Added windows subdirectory, which provides the readme file and a def file to use it with Visual C++ 2002-08-16 Kai Poitschke <kai[_at_]poitschke.de> * configure.in: Added compiler flag -W if gcc is used. * Makefile.start: New target config to get the lastest config.sub and config.guess from fsf. 2002-07-24 Kai Poitschke <kai[_at_]poitschke.de> * Released 2.2.72002-07-23 Kai Poitschke <kai[_at_]poitschke.de> * doc/Makefile.am: Made doc the default target.2002-07-19 Kai Poitschke <kai[_at_]poitschke.de> * sqlora.c (_save_oci_status): Changed format of error messages. libsqlora8 specific messages start with LIBSQLORA8-<nnnnn>, where nnnnn is the error number. * acoracle.m4 (ACX_ORACLE_VERSION): Fixed error in script to determine the Oracle version. 2002-07-16 Kai Poitschke <kai[_at_]poitschke.de> * Released 2.2.6 * sqlora.c (sqlo_register_int_handler): New function to register a signal handler for interrupts. Because you are not allowed to install your own handler for SIGINT, you can register one with the OCI interface via the sqlo_register_int_handler function. Oracles OCI will call this function if it catches the SIGINT. NOTE: DON'T TRY TO EXECUTE ANY OCI/LIBSQLORA8 FUNCTIONS IN THE SIGNAL HANDLER!!! Have a look at examples/examples.c to see how it is used. * sqlora.c (sqlo_clear_int_handler): New function to clear a signal handler for interrupts. 2002-07-16 Kai Poitschke <kai[_at_]poitschke.de> * sqlora.c (sqlo_get_ocol_dtype): Returns allways the right Oracle datatype. The function returned the type used in the library before. * sqlora.c (sqlo_ncols): For select list columns, we execute now the statement and return the number of columns delivered by the OCI statement attribute OCI_ATTR_PARAM_COUNT. 2002-07-12 Kai Poitschke <kai[_at_]poitschke.de> * sqlora.c (_open_trace_file): Fixed wrong parameter documentation.2002-07-11 Kai Poitschke <kai[_at_]poitschke.de> * Released 2.2.5 * sqlora.c (_open_trace_file): Write session specific trace files. There is still the trace file sqlora8.trc where information is written, before a connection to a databas
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -