MENU: home / change log
Version 4.4, May 18, 2006

2006-06-30  Todd Helfter
	*  doc/FAQ.html : update FAQ

2006-05-11  Todd Helfter
	*  changing version to 4.5 for cvs-head, development occurs here.

2006-05-11  Todd Helfter
	* generic/oralob.c
	  generic/oralong.c :  Reorganize so variable declarations come before for loops

2006-04-13  Todd Helfter
	* generic/oratcl.c: initialize ColPtr->dty to SQLT_STR.

2006-03-23  Todd Helfter
	* generic/oratcl.c:
	  generic/oratclInt.h: Found that the entire global linked list of Oratcl state pointers
	OratclSLP was unnecessary, the interp delete callback is sufficient to clean up from
	slave interps..

2006-03-21  Todd Helfter
	* generic/oratcl.c:  New [orainfo client] command will return 0.0.0.0.0 if the client version
	is not 10g or higher.  The OCI function does not exist in the 8i and 9i libraries.
	* also added some Tcl_IsShared() tests to orasql and oraplexec.

2006-03-16  Todd Helfter
	* generic/oratcl.c:	  Massive cleanup of oratcl.c concering Tcl_Objs and refCounts.
	  generic/oratclInt.h:

2006-03-16  Todd Helfter
	* generic/oralob.c:	Fix error message format to use %zu for (size_t) and fix message typo.
	  generic/oralong.c:

2006-03-16  Todd Helfter
	* Oratcl is now able to execute the test suite aka. 'make test' using Tcl 8.5.
	  The test suite works in both threaded and non-threaded 8.5a4 and 8.4.13

2006-03-16  Todd Helfter
	* tests/oralong.test recode test so that write + read operations occur in the same test proc.
        simultaneous read and write of the same row will result in an Oracle error being returned and
	the Tcl 8.5 test suite runs each test in a separate thread, concurrently.

2006-03-15  Todd Helfter
	* generic/oratcl.c: 	Fix 3 castes for OCI parameters to correct compiler warnings.

2006-03-15  Todd Helfter
	* generic/oratcl.c: 	Recode Oratcl_LongWrite() to work properly with 10g libraries.

2006-03-15  Todd Helfter
	* generic/oratcl.c: 	     New functionality [orainfo client] returns the oracle client library
	* generic/oratclTypes.h:     version information.  I.E. 9.2.0.7.0 or 10.2.0.1.0
	* doc/oratcl.n:
	* doc/oratcl.html:

2006-03-15  Todd Helfter
	* generic/oratcl.c:
	* generic/oratclInt.h    remove member sub_len from OratclStms.

2006-03-15  Todd Helfter
	* generic/oratcl.c:
	* generic/oratclInt.h    remove typedef OratclSubs and member sub_list from OratclStms.

2006-03-14  Todd Helfter
	* generic/oratcl.c:  check for ckalloc() returning NULL.
			     only call ckfree() if object is not NULL.

2006-03-14  Todd Helfter
	* generic/oratcl.c:
	* generic/oratclInt.h    remove global Tcl_Obj OMV_null.

2006-03-13  Todd Helfter
	* generic/oratcl.c:
	* generic/oratclInt.h    remove unused tListObjType global variable

2006-03-13  Todd Helfter
	* generic/oradefs.h Add string representations of some numbers to avoid code conversions
	* generic/oratcl.c Use string rep. instead of number conversion to strings.
	* generic/oratcl.c Oratcl_Checkerr() Use dynamic string buffer, eliminate static char buffer.

2006-03-13  Todd Helfter
	* generic/oratclInt.h remove unused members lobid and lobHash from struct OratclState

2006-03-12  Todd Helfter
	* generic/oratcl.c Oratcl_Checkerr() improve Tcl_Obj handling.
	* generic/oratcl.c Oratcl_Bind() correct error handling.

2006-03-11  Todd Helfter
	* generic/oratcl.c Oratcl_Exec() will now return specific Oracle error message
	instead of the generic message it previously returned.

2006-03-11  Todd Helfter
	* generic/oratcl.c Oratcl_Open() eliminated a memory leak caused by initializing
	the StmPtr->nullvalue twice.

2006-03-11  Todd Helfter
	* generic/oratcl.c Oratcl_ErrorMsg()  Use Tcl_AppendObjToObj() eliminating a
	needless string conversion.

2006-03-10  Todd Helfter
	* generic/oratcl.c improve handling of temporary Tcl_Obj with proper
	calls to Tcl_IncrRefCount and Tcl_DecrRefCount.

2006-03-10  Todd Helfter
	* tests/codes.test tests/oracommit.test tests/orainfo.test test/oraopen.test
	test/oraparse.test  changes to use the features of the tcltest package.

2006-03-09  Todd Helfter
	* generic/oralob.c correct several usages of the tcl 'return' function.
		-errorinfo is not a recognized parameter (anymore?)
	* tests/oralob.test I get an ORA-01460 error for lob pieces > 32500
	* tests/oralob.test Compare the results of 'oralob read' and 'select from table'

2006-01-25  Jeff Hobbs

	* Makefile.in:
	* configure, configure.in: update to TEA 3.5
	* tclconfig/tcl.m4:        TEA rcs 1.89 2006/01/25 21:25:02

2005-12-16  Todd Helfter

	* generic/oratclInt.h Increase default value of ORA_LOBP_SIZE

2005-12-16  Todd Helfter

	* generic/oratcl.c Allow for the direct reading of LOBS using SQL select.
	maximum value of lobpsize (oraconfig) increased.  Original idea and sample
	code contributed by Peter Schindler with Synchronicity Inc.


2005-11-18  Todd Helfter

	* generic/oratcl.c Recognize a new environment variable ORACLE_LIBRARY.
	On platforms where libclntsh has to be loaded (WIN32 uses OCI.DLL),
	allow for an environment variable to specify where to find the file at
	load time.  Default behavior is to load this library:
	ORACLE_HOME/lib/libcltntsh.SHLIB_SUFFIX

	now if ORACLE_LIBRARY environment variable is set.  The contents of that
	variable will be passed to the dlopen() function call.

	Example 1: For 10gR2 instant client on solaris.
		Bash:  export ORACLE_LIBRARY=/path/to/libclntsh.so.10.1
		Csh:   setenv ORACLE_LIBRARY /path/to/libclntsh.so.10.1

	Example 2: For 32 bit tcl on 64 bit solaris with 64 bit oracle.
		Bash:  export ORACLE_LIBRARY=$ORACLE_HOME/lib32/libclntsh.so
		Csh:   setenv ORACLE_LIBRARY $ORACLE_HOME/lib32/libclntsh.so


2005-06-21  Todd Helfter

	* generic/oralob.c Add a missing Tcl_DecrRefCount() to the error condition.
	Fixes BugID 1221820
	Thanks to Markus Elfring  for the patch.

2005-05-25  Todd Helfter

	* generic/oratcl.c increase the amount of memory allocated for columns of
	type SQLT_RID and SQLT_RDD from 23 bytes to 140 bytes.

2005-05-15  Todd Helfter

	* generic/oralong.c Add a missing Tcl_DecrRefCount() to the error condition.
	Fixes BugID 1221820
	Thanks to Markus Elfring  for the patch.

2005-04-22  Todd Helfter

	* generic/oralob.c  Handle return codes from Tcl_SetVar2(),
	replace calls to Tcl_Eval with Tcl_EvalObjEx()

	* generic/oralong.c  Handle return codes from Tcl_SetVar2(),
	replace calls to Tcl_Eval with Tcl_EvalObjEx()

	Thanks to Markus Elfring  for the patch.

2005-03-23  Todd Helfter

        * generic/oratcl.c  Fix path generation to work with Tcl 8.3

2005-03-22  Todd Helfter

	* generic/oratcl.c: Handle ORA-28002 'warning password is about
	to expire.  Allow login, but place message in oramsg buffer.


2005-03-18  Jeff Hobbs

	* Makefile.in (AR): use @AR@
	* configure, configure.in, tclconfig/tcl.m4: TEA 3.2 update

Feb 14 2005

        Relocate a Tcl_DecrRefCount() call to after the call to DLOPEN.
        Thanks to Miguel Bagnon  for the patch.

2005-01-28  Jeff Hobbs

	* generic/oratcl.c: include dl.h on hpux

	* Makefile.in (pkgIndex.tcl): generate pkgIndex.tcl by hand
	instead of with pkg_mkIndex.  This ensures correct creation even
	when the oracle client libraries are not on the build machine.

Oratcl change history

Version 4.4,  Beta

	Add support for information returned by the dlerror() system call.
	HPUX still needs to be supported.
        Thanks to Miguel Bagnon  for the patch.

Version 4.3,  Nov, 2004

Jan 06 2005

	If configured with --enable-threads, the -DTCL_THREADS macro is defined.
	If TCL_THREADS is defined, call OCIEnvInit with multiple modes:
		OCI_OBJECT | OCI_THREADED

Jan 06 2005

	Streamlined and improved error handling and memory cleanup in Oratcl_Commit.
	Streamlined and improved error handling and memory cleanup in Oratcl_Rollback.

Jan 05 2005

	Streamlined and improved error handling and memory cleanup in Oratcl_Logon.
	Logon function pays more attention to return codes from OCI layer.
	Logon function returns Oracle error code and message.

	I.E.

	% oralogon log/bad_pass@good_db
	ORA-01017: invalid username/password; logon denied
	% oralogon log/good_pass@bad_db
	ORA-12154: TNS:could not resolve service name


Dec 17 2004

	Add code to obtain additional symbols in the oracle library:
		OCIDescriptorAlloc
		OCIDescriptorFree
		OCILobRead
		OCILobGetLength
	These library functions are not yet used but will be needed to read CLOB and BLOB
	columns directly with SQL.

Nov 29 2004

	**  Incorporate patches provided by Christian Traber (christian@traber-net.de)
	These patches add a new TAF failover functionality to Oratcl..
	"Its a new option (-failovercallback ) for the oralogon
	command. The given procedure is called from OCI on TAF failover.
	I use it to reexecute "alter session" statements after the automatic
	reconnect in case of failover to another RAC node."

Nov 29 2004
	add .cvsignore file in root directory
	Renamed oraconst.h to oradefs.h
	Fix oratypes.h to work in windows and unix.
	Update COPYRIGHT info in each file
	Remove the RTLD_NODELETE flag from dlopen()

Nov 22 2004
	Improvements to the autoconf scripts provide more introspection.

Nov 20 2004

     	* Dynamic loading of oracle share library now builds a path containing these
	elements: env(ORACLE_HOME) lib libclntsh.so for unix.
     	* Oratcl_Init() returns an error if env(ORACLE_HOME) is not defined for unix.
	* Removed all code supporting Oracle 8.0, I can not find a way to detect the
	  Oracle version from the client library contents: API/symbols.

	**** Notice of potential incompatability ***
	slave interpreters need to have the env(ORACLE_HOME) set before
	Oratcl can be loaded.  See oratcl/tests/safe.test for an example.

Nov 14 2004
     Converted to TEA build system.
	* test directory moved to tests
	* comfig directory removed
	* tclconfig directory added
	* configure & configure.in replaced

Nov 14 2004
     Converted to dynamic loading oracle share library.
	* hard coded to load 'oci.dll' for windows.
	* hard coded to load /opt/oracle/product/9.2.0/lib/libclntsh.so for unix.