$Id: Changes,v 1.12 2004/02/01 21:58:03 jeff Exp $
1.99_06 Sun Feb 1 16:55:17 EST 2004
* ExtProc module is now built as a shared object
* libperxsi.so no longer retains old version of ExtProc when upgrading
* can now run 'perl -cw' to check syntax if you preload extproc_perl.so
* create trusted code directory during installation if it doesn't exist
* rewrote gen_module_libs so it works more reliably
* installation will warn you when shared objects are not found
* bootstrap failure errors are now more consistent and verbose
* is_null and set_null methods manipulate NULL status of oracle
datatype objects
1.99_05 Sat Jan 17 16:59:49 EST 2004
* support for DATE types
* methods for manipulating DATE values in Perl
* existing libperlxsi is no longer overwritten during installation
* set NULL indicators for IN OUT & OUT types
* fix inc_path_to_mflag crash on solaris
1.99_04 Sat Dec 27 18:48:07 EST 2003
* implement NULL, LENGTH, and MAXLEN indicators for variable length
data types like VARCHAR2
* allow user-defined attributes in dbi_connect
* move put_line into ExtProc and remove from ExtProc::Util
* implement filehandle interface to put_line
* make ExtProc object-oriented (needed for put_line filehandles)
* correctly pass NULL parameters as undefined scalars for directly
executed subroutines
* autogenerate external procedure DDL in Perl.create_wrapper
* wrote the user's guide (currently only available online)
1.99_03 Sat Dec 6 22:51:11 EST 2003
* disallow eval in taint mode
* register .fini function (ELF) to call pl_shutdown at library unload
VERY EXPERIMENTAL, but it seems to work well on both linux & solaris
* can register user-defined destructors using register_destructor
* implement IN OUT and OUT parameters
* changed Perl.create_wrapper syntax to better reflect Oracle's syntax
* prefix C wrapper function names with EP_ to prevent name clashes
* full documentation is now available from the user's guide
1.99_02 Tue Nov 18 11:00:11 EST 2003
* can directly call Perl subroutines, bypassing the generic
func & proc wrappers
* Perl.create_wrapper creates C wrappers for directly calling subs
* beginnings of support for non-VARCHAR2 IN & RETURN values (just
integers for now)
* perlxsi.mk and other relinking files are now installed in the
trusted code directory
1.99_01 Sat Nov 8 12:19:19 EST 2003
* initial alpha release (pre-2.0)
CHANGES BELOW ARE RELATIVE TO the 1.03 codebase:
* globals incorporated into single global EP_CONTEXT struct to minimize
use of globals and lay the groundwork for future threading support
* gen_module_libs rewritten in perl for portability & accuracy
* all oracle functions/procedures now in "Perl" PL/SQL package
* perl function is now Perl.func
* perl_p procedure is now Perl.proc
* former "special subroutines" are their own PL/SQL procedures in the
Perl package
* func & proc now take up to 8 arguments by default
* debugging and tainting support are always built in
* new configuration file with various runtime options
* tainting is now a runtime setting
* bootstrap file path is a runtime setting
* can specify additions to @INC as a runtime setting
* can specify debug directory as a runtime setting
* simple_query.c and simple_query functions decommissioned
* oci.c now contains all significant OCI routines
* ExtProc "convenience" routines removed
* new fetch_code routine dedicated to fetching code from database
* code in database now stored as VARCHAR2 instead of CLOB
* support for per-session namespaces (packages)
* renamed ExtProc::exception to ExtProc::ora_exception
* ExtProc::is_function & ExtProc::is_procedure will tell you the
context of the current call
* split module shared objects into their own library, libperlxsi,
so they can be maintained separately from extproc_perl.so
* perlxsi.mk Makefile is installed to facilitate linking new modules
* perl_config view contains configuration settings