SQLJ RUNTIME PACKAGES RELEASE NOTES

This document logs changes made to the SQLJ runtime and profile APIs
between versions.  Note that the version numbers are in terms of the build
version.  In SQLJ build version 1022 and later, the build version can be
obtained using the "-version-long" command-line option of the SQLJ
translator.  Please consult javadoc generated documentation for further
details on modified classes and methods.

-------------------------------------------------------------------------------
*******************************************************************************
Changes made to version 1101 (02/25/00) since version 1100 (09/15/99)
*******************************************************************************
-------------------------------------------------------------------------------

Change Overview: 

- bug fixes
- provision in Oracle runtime to support statically linked types in the future.
- support for runtime versioning identification.

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime
-------------------------------------------------------------------------------

*** ExecutionContext.java ***

-- Removed debug statements, since they caused IllegalAccessErrors in
   browser environments.

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.ref
-------------------------------------------------------------------------------

*** EntryInfoImpl.java ***

-- Removed limitation of SQL statements to less than 65k size

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.util
-------------------------------------------------------------------------------

*** SerProfileToClass.java ***

-- Removed limitation of ser files to less that 32k size for ser to class
   conversion


-------------------------------------------------------------------------------
PACKAGE oracle.sqlj.runtime
-------------------------------------------------------------------------------
*** OraTypeClosureImpl.java ***

-- Added new interface to permit static and dynamic type closures.

*** OraClosureFactory.java ***
*** OraCustomization.java ***
*** OraDynamicClosure.java ***
*** OraProfile.java ***
*** OraRTResultSet.java ***
*** OraRTStatement.java ***
*** OraTypeClosure.java ***

-- Modified for new OraTypeClosure interface

*** OraRTStatement.java ***

-- Modified for versioning support

*** OraEntryInfoImpl.java ***

-- Removed limitation of Oracle-specific SQL statements to less than 65k size

-------------------------------------------------------------------------------
*******************************************************************************
Changes made to version 1100 (09/15/99) since version 1044 (04/14/99)
*******************************************************************************
-------------------------------------------------------------------------------

Change Overview: 

- Statement caching support added.
- Batching support added.
- SQLChecker customizer profile customizer added.

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime
-------------------------------------------------------------------------------
*** ExecutionContext.java ***

-- Added constants and entry points for batching support.

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.ref
-------------------------------------------------------------------------------

*** BatchContext.java ***

-- Class created for batching support.

*** ConnectedProfile.java ***
*** RTStatement.java ***

-- Added batching support.

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.ref
-------------------------------------------------------------------------------

*** CachedDynamicProfile ***
*** CachedDynamicProfileHelper ***
*** CachedDynamicProfileWrapper ***
*** CachedStatement ***
*** CachedStatementProfile ***
*** CachedStatementProfileHelper ***
*** CachedStatementProfileWrapper ***
*** CachedStatementWrapper ***
*** ClientDataSupport ***
*** ExecuteEventListener ***
*** Flushable ***
*** LRUObjectPool ***
*** ObjectPool ***
*** SharedProfile ***
*** StatementCacheCustomization ***
*** StatementCacheProfile ***

-- Classes added for statement caching support.

*** IterConvertProfile ***

*** JDBCProfile ***
*** LocalStatement ***
*** ParamRegProfile ***
*** PositionedProfile ***
*** ProfileImpl ***
*** RTStatementJDBCBase ***
*** RTStatementJDBCCallable ***
*** RTStatementJDBCPrepared ***
*** TransactionControlProfile ***
*** UntypedSelectProfile ***

-- Updated to support cached statements.

-------------------------------------------------------------------------------
*** CachedDynamicProfileHelper.java ***
*** CachedDynamicProfileWrapper.java ***
*** CachedStatement.java ***
*** CachedStatementProfile.java ***
*** CachedStatementProfileHelper.java ***
*** CachedStatementProfileWrapper.java ***
*** CachedStatementWrapper.java ***
*** DynamicProfileWrapper.java ***
*** IterConvertProfile.java ***
*** JDBCProfile.java ***
*** LocalStatement.java ***
*** ParamRegProfile.java ***
*** PositionedProfile.java ***
*** ProfileWrapper.java ***
*** RTResultSetWrapper.java ***
*** RTStatementJDBCBase.java ***
*** RTStatementJDBCCallable.java ***
*** RTStatementJDBCPrepared.java ***
*** RTStatementWrapper.java ***
*** StatementCacheProfile.java ***
*** TransactionControlProfile.java ***
*** UntypedSelectProfile.java ***

-- Updated to support batching.


-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.util
-------------------------------------------------------------------------------

*** StatementCacheCustomizer ***
*** StatementCacheCustomizerBeanInfo ***

-- Added to support statement cache customizer

-------------------------------------------------------------------------------

*** AuditedProfile ***
*** AuditorInstaller *** 


-- Updated to include auditing of cached statements
-- Updated to include auditing of batched statements
-- Updated to support new -P-CshowThreads, -P-CshowReturns flags

-------------------------------------------------------------------------------

*** CustomizerHarness ***
*** CustomizerHarnessBeanInfo ***

-- Added statement cache customizer support
-- Fixed bug in CustomizerHarness with whitespace in key/value pairs
-- Added support for SQLChecker customizer

-------------------------------------------------------------------------------

*** PrintWriterAuditor.java ***

-- Updated to support new -P-CshowThreads, -P-CshowReturns flags

-------------------------------------------------------------------------------

*** SQLCheckerCustomizer.java ***
*** SQLCheckerCustomizerBeanInfo.java ***
*** SQLOperationImplProfileBased.java ***

-- Added new SQLJ customization (using -P-verify)

-------------------------------------------------------------------------------

*** SerProfileToClass.java ***

-- Improved performance


-------------------------------------------------------------------------------
*******************************************************************************
Changes made to version 1044 (04/14/99) since version 1033 (01/25/99)
*******************************************************************************
-------------------------------------------------------------------------------

None.

-------------------------------------------------------------------------------
*******************************************************************************
Changes made to version 1033 (01/25/99) since version 1022 (12/21/98)
*******************************************************************************
-------------------------------------------------------------------------------

Bugs fixed in this release:

- null connection context object passed to connection context constructor
now throws SQLException instead of NullPointerException, as is the case
when a null JDBC Connection object is passed.

- The iterator conversion statement was being passed to the JDBC layer at
runtime.  This is now handled completely on the client side in the default
runtime implementation.

-------------------------------------------------------------------------------
*******************************************************************************
Changes made to version 1022 (12/21/98) since version 1011 (11/03/98)
*******************************************************************************
-------------------------------------------------------------------------------

Change Overview:

- print and debug options added to CustomizerHarness

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.util
-------------------------------------------------------------------------------

*** CustomizerHarness ***

- accepts print and debug options as shorthand for ProfilePrinter and
  AuditorInstaller customizers

-------------------------------------------------------------------------------

*** CustomizerPropertyInfo ***

- additionally allows property method names to be specified

-------------------------------------------------------------------------------
*******************************************************************************
Changes made to version 1011 (11/03/98) since version 0922 (10/19/98)
*******************************************************************************
-------------------------------------------------------------------------------

Change Overview:

- CustomizerHarness connection options unifed with those in sqlj
- SQLJ specific SQLState values changed from 42xxx to 46xxx
- iterator conversion support added (moved from Oracle-only feature)
- untyped select support added (moved from Oracle-only feature)
- dynamic profiles return "callable" statement for method prepareCall
- ExecutionContext updated to allow for recursive SQLJ callins
- "main" of all utilities call System.exit() with appropriate status code, 
  "mainStatus" method added to get status code without exit().

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime
-------------------------------------------------------------------------------

*** ExecutionContext ***

- updated to allow for recursive callins, assumes generated synchronization
 
-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.ref
-------------------------------------------------------------------------------

*** ConnectionContextImpl ***

- constructors that take a JDBC connection or connection context now
  throw SQLException if the JDBC connection is null.

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.ref
-------------------------------------------------------------------------------

*** IterConvertProfile ***

- class added, implements iterator conversion statements

-------------------------------------------------------------------------------

*** UntypedSelectProfile ***

- class added, implements untyped select statements

-------------------------------------------------------------------------------

*** RTCallableStatement ***

- class added, allows out parameter registration

-------------------------------------------------------------------------------

*** DynamicProfile ***

- method prepareCall(String) now returns RTCallableStatement

-------------------------------------------------------------------------------

*** JDBCProfile ***

- method prepareCall(String) now returns RTCallableStatement
- removed automatic out-parameter registration (moved to ParamRegProfile)
- method getSQLString(int) added

-------------------------------------------------------------------------------

*** ParamRegProfile ***

- class added (was part of JDBCProfile),
  performs registration of out-parameters on RTCallableStatements

-------------------------------------------------------------------------------

*** DynamicProfileWrapper ***

- class added

-------------------------------------------------------------------------------

*** PositionedProfile ***

- now extends DynamicProfileWrapper instead of ProfileWrapper

-------------------------------------------------------------------------------

*** ProfileImpl ***

- method getDefaultProfile() additionally creates instances of
  ParamRegProfile, UntypedSelectProfile and IterConvertProfile

-------------------------------------------------------------------------------

*** RTStatementJDBCCallable ***

- additionally implements RTCallableStatement

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.util
-------------------------------------------------------------------------------

*** AuditedProfile ***

- auditing of RTCallableStatements added

-------------------------------------------------------------------------------

*** CustomizerHarness ***

- connection options unified with those in sqlj 

-------------------------------------------------------------------------------

*** ProfilePrinter ***

- command line no longer allows dotted names (now only ".ser" names) 
- "customize" method writes output to log

-------------------------------------------------------------------------------

*** ProfilePrinterBeanInfo ***

- class added

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.error
-------------------------------------------------------------------------------

*** Errors ***

- SQLJ specific SQLState constants changed from 42xxx to 46xxx

-------------------------------------------------------------------------------

*** RuntimeRefErrors ***

- added NULL_CONNECTION error (raised by connection context constructor)

-------------------------------------------------------------------------------

*** ProfileRefErrors ***

- added EXPECTED_CALLABLE_STATEMENT error
- added INVALID_ITERATOR error
- added EXCEPTION_IN_CONSTRUCTOR error

-------------------------------------------------------------------------------
*******************************************************************************
Changes made to version 0922 (10/19/98) since version 0911 (09/22/98)
*******************************************************************************
-------------------------------------------------------------------------------

Change Overview:

- added getWarnings, clearWarnings methods to iterators

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime
-------------------------------------------------------------------------------

*** ResultSetIterator ***

- added methods getWarnings and clearWarnings

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.ref
-------------------------------------------------------------------------------

*** ResultSetIterImpl ***

- added methods getWarnings and clearWarnings

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile
-------------------------------------------------------------------------------

*** RTResultSet ***

- added methods getWarnings and clearWarnings

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.ref
-------------------------------------------------------------------------------

*** RTResultSetJDBC ***

- added methods getWarnings and clearWarnings

-------------------------------------------------------------------------------

*** RTResultSetWrapper ***

- added methods getWarnings and clearWarnings

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.util
-------------------------------------------------------------------------------

*** AuditedProfile . AuditedRTResultSet ***

- added methods getWarnings and clearWarnings

-------------------------------------------------------------------------------

*** PrintWriterAuditor ***

- object value printing algrithm updated

-------------------------------------------------------------------------------
*******************************************************************************
Changes made to version 0911 (09/22/98) since version 0711 (03/06/98)
*******************************************************************************
-------------------------------------------------------------------------------

Change Overview:

- All message strings produced by utilies in package
  sqlj.runtime.profile.util have been made internationalizable.  
- SET TRANSACTION statement support improved
- multiple side-channel result support added
- SELECT..INTO variable names stored in the profile as non-null
- most connection context constructors now require autocommit parameter
- support for with-clause added (sensitivity, holdability, etc)
- support for untyped iterators removed (now Oracle-only feature)
- support for iterator conversion statement removed (now Oracle-only feature)
- JAR and IDE support added to profile CustomizerHarness utility

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime
-------------------------------------------------------------------------------

*** ExecutionContext ***

- added method execute
- added method getNextResultSet

-------------------------------------------------------------------------------

*** ConnectionnContext ***

- overview of generated connection context updated

-------------------------------------------------------------------------------

*** ResultSetIterator ***

- "sensitivity" constants added

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile
-------------------------------------------------------------------------------

*** SetTransactionDescriptor ***

- class added

-------------------------------------------------------------------------------

*** EntryInfo ***

- add constant role SET_TRANSACTION
- add method getTransactionDescriptor
- removed role constants TRANSACTION_ISOLATION and TRANSACTION_READ_ONLY
- removed result set type constant DYNAMIC_RESULT
- removed role constant ITERATOR_CONVERSION

-------------------------------------------------------------------------------

*** RTResultSet ***

- findColumn definition clarified

-------------------------------------------------------------------------------

*** RTStatement ***

- method getRTResultSet replaced with getResultSet returning JDBC ResultSet

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.ref
-------------------------------------------------------------------------------

*** ConnectionContextImpl ***

- updated most constructors to require explicit auto-commit param

-------------------------------------------------------------------------------

*** DefaultContext ***

- updated most constructors to require explicit auto-commit param

-------------------------------------------------------------------------------

*** IterConvertProfile ***

- class removed

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.ref
-------------------------------------------------------------------------------

*** RTStatementJDBCBase ***

- method getRTResultSet replaced with getResultSet returning JDBC ResultSet

-------------------------------------------------------------------------------

*** RTStatementWrapper ***

- method getRTResultSet replaced with getResultSet returning JDBC ResultSet

-------------------------------------------------------------------------------

*** LocalStatement ***

- class added 
- now used by IterConvertProfile, PositionedProfile, TransactionControlProfile

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.util
-------------------------------------------------------------------------------

*** ProfileIOContext ***

- class added

-------------------------------------------------------------------------------

*** CustomizerHarness ***

- customizeProfile method rewritten in terms of ProfileIOContext
- JAR file customization capability implemented

-------------------------------------------------------------------------------

** ProfilePrinter ***

- now implements ProfileCustomizer

-------------------------------------------------------------------------------

*** AuditedProfile ***

- method getRTResultSet replaced with getResultSet returning JDBC ResultSet

-------------------------------------------------------------------------------

*** SerProfileToClass ***

- bug fixed when profile part of package.

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.error
-------------------------------------------------------------------------------

*** Errors ***

- added constants defining common SQLJ runtime SQLState values.
- raiseXXX methods require SQLState value to be passed.

-------------------------------------------------------------------------------
*******************************************************************************
Changes made to version 0711 (03/06/98) since version 0611 (12/15/97)
*******************************************************************************
-------------------------------------------------------------------------------

Change Overview:

- profile debugging information added, including source file name and line
  numbers
- parameter marker index information added to TypeInfo class
- encoding of POSITIONED profile entries changed
- ResultSetIterator removed rowCount method
- addition of ITERATOR_CONVERSION profile entry role
- addition of result set class name to each profile entry
- addition of ProfileCustomizer and CustomizerHarness classes
- addition of RTStatement, RTResultSet interfaces in place of JDBC
  statement and result set interfaces.

Compatability Notes: 

- This release includes changes to the runtime classes that are
  incompatible with previous versions.  Any existing SQLJ binary
  applications will need to be recompiled.

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime
-------------------------------------------------------------------------------

*** ConnectionContext ***

- class overview documentation updated to reflect constructor change

-------------------------------------------------------------------------------

*** ExecutionContext ***

- registerStatement method updated to create and return RTStatement
- executeQuery returns RTResultSet

-------------------------------------------------------------------------------

*** ResultSetIterator ***

- rowCount method removed

-------------------------------------------------------------------------------

*** PositionedIterator ***

- endFetch method semantics changed to also return true before first row.

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.ref
-------------------------------------------------------------------------------

*** ConnectionContextImpl ***

- constuctor(ConnectionContextImpl) changed to constructor(ConnectionContext)
- remove static getConnectedProfile(ConnectionContext,Object) method

-------------------------------------------------------------------------------

*** DefaultContext ***

- constuctor(DefaultContext) changed to constructor(ConnectionContext)

-------------------------------------------------------------------------------

*** ResultSetIterImpl ***

- reimplemented to use RTResultSets instead of JDBC ResultSets
- rowCount method removed
- endFetch semantics updated

-------------------------------------------------------------------------------

*** RTPreparedStatement ***
*** RTCallableStatement ***
*** RTResultSet ***

- classes removed (replaced by RT* classes in profile package)

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile
-------------------------------------------------------------------------------

*** ProfileData ***

- added method getJavaType(String) similar to getJavaType(TypeInfo)

-------------------------------------------------------------------------------

*** ConnectedProfile ***

- removed prepareCall, prepareStatement methods
- added getStatement method that returns RTStatement

-------------------------------------------------------------------------------

*** RTStatement ***
*** RTResultSet ***

- added new classes that encapsulate JDBC-like behavior

-------------------------------------------------------------------------------

*** PositionedDecsriptor ***

Class removed.  EntryInfo.getDescriptor() for POSITIONED entries now
return Integer indicating cursor parameter.  The cursor text position
can be found with TypeInfo.getMarkerIndex().

-------------------------------------------------------------------------------

*** EntryInfo ***

- method getDescriptor() returns Integer for POSITIONED entries, not
  PositionedDescriptor object.  Integer value indicates cursor parameter
  number.  The cursor text position can be found with 
  TypeInfo.getMarkerIndex().
- add abstract method getLineNumber() returning line number of this
  operation in original source file.
- add abstract method getResultSetName() returning class name of the
  strongly typed result set populated by this entry.
- add new role: ITERATOR_CONVERSION
 
-------------------------------------------------------------------------------

*** ProfileData ***

- add abstract method getSourceFile() returning name of the original
  source file for this profile.

-------------------------------------------------------------------------------

*** TypeInfo ***

- add abstract method getMarkerIndex() returning index of this parameter's
  marker (?) in the SQL string.

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.ref
-------------------------------------------------------------------------------

*** EntryInfoImpl ***

- implement method getLineNumber() returning line number of this
  operation in original source file.
- implement method getResultSetName()
- constructor updated to take additional line number, result set name
  parameters. 

-------------------------------------------------------------------------------

*** ProfileDataImpl ***

- implement method getSourceFile() returning name of the original
  source file for this profile.
- constructor updated to take additional source file parameter.

-------------------------------------------------------------------------------

*** ProfileImpl ***

- constructor updated to take additional source file parameter.
- getDefaultProfile method no longer creates TypeRegisterProfile
- getDefaultProfile method additionally creates IterConvertProfile

-------------------------------------------------------------------------------

*** TypeInfoImpl ***

- implement method getMarkerIndex() returning index of this parameter's
  marker (?) in the SQL string.
- constructor updated to take marker index as parameter.
- constructor added that defaults mode and marker index for
  type info objects representing result columns.

-------------------------------------------------------------------------------

*** PositionedProfile ***

Reimplemented to reflect removal of PositionedDescriptor, and changes 
to EntryInfo.getDescriptor() and TypeInfo.getMarkerIndex().

- constructor of PositionedProfile.PositionedStatement class takes
  cusrorMarkerIndex and cursorParamNum parameters instead of positioned
  descriptor object.
- implementation updated to use RTStatement

-------------------------------------------------------------------------------

*** PreparedStatementWrapper ***
*** CallableStatementWrapper ***
*** ResultSetWrapper ***

- classes removed (replaced with encapsulated RT*Wrapper classes) 

-------------------------------------------------------------------------------

*** TypeRegisterProfile ***

- class removed (impl moved to JDBCProfile, RTStatementJDBCCallable)

-------------------------------------------------------------------------------

*** RTStatementJDBCBase ***
*** RTStatementJDBCPrepared ***
*** RTStatementJDBCCallable ***
*** RTResultSetJDBC ***

- classes added (implement RTStatement, RTResultSet using JDBC)

-------------------------------------------------------------------------------

*** RTStatementWrapper ***
*** RTResultSetWrapper ***

- classes added

-------------------------------------------------------------------------------

*** DynamicProfile ***

- method prepareCall changed to return RTStatement
- method prepareStatement changed to return RTStatement

-------------------------------------------------------------------------------
 
*** JDBCProfile ***

- updated to create RTStatement (using RT*JDBC* classes above)

-------------------------------------------------------------------------------
 
*** ProfileWrapper ***
*** TransactionControlProfile ***

- updated to use RTStatement

-------------------------------------------------------------------------------

*** IterConvertProfile ***

- class added to handle profile entries with role = ITERATOR_CONVERSION.

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.util
-------------------------------------------------------------------------------

*** DataCustomizer ***

- add customizeMarkerIndex method.
- method newTypeInfo takes additional marker index parameter.
- add customizeSourceFile method.
- method newProfileData takes additional source file parameter.
- add customizeLineNumber method.
- add customizeResultSetName method.
- method newEntryInfo takes additional line number, result set name parameters.

-------------------------------------------------------------------------------

*** ProfilePrinter ***

- printout includes marker index for each parameter and result type.
- printout includes source file name for profile data.
- printout includes line number for each entry.
- printout includes result set name for each entry.

-------------------------------------------------------------------------------

*** ProfileCustomizer ***

- new interface added 

-------------------------------------------------------------------------------

*** AuditedProfile ***

- updated to audit RTStatement and RTResultSet objects.  
- direct JDBC auditing support removed

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.error
-------------------------------------------------------------------------------

*** RuntimeRefErrors ***

- removed INCOMPATIBLE_TYPE error (moved to profile ref)

-------------------------------------------------------------------------------

*** RuntimeRefErrors ***

- added INCOMPATIBLE_TYPE error (moved from runtime ref)

-------------------------------------------------------------------------------

*** ProfileRefErrors ***

- added EXPECTED_EXECUTE_QUERY error
- added UNEXPECTED_PARAMS error (replaces EXPECTED_NO_PARAMS) 

-------------------------------------------------------------------------------
*******************************************************************************
Changes made to version 0611 (12/15/97) since version 0511 (10/23/97)
*******************************************************************************
-------------------------------------------------------------------------------

base package name jsql changed to sqlj

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime
-------------------------------------------------------------------------------

*** ConnectionContext ***

- removed method setExecutionContext

-------------------------------------------------------------------------------

*** JSQLRuntime ***

- renamed to RuntimeContext 
- all refs to JSQLRuntime changed to RuntimeContext
- PROPERTY_KEY value is sqlj.runtime instead of jsql.runtime

-------------------------------------------------------------------------------

*** ExecutionContext ***

- made concrete class, replacing class sqlj.runtime.ref.ExecutionContextImpl
- removed exception throwing from get/set methods
- added QUERY_COUNT, EXCEPTION_COUNT constants for use with update count
- added methods registerStatement, executeUpdate, executeQuery, and
  releaseStatement 

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.ref
-------------------------------------------------------------------------------

*** ConnectionContextImpl ***

- removed method setExecutionContext
- added static method getConnectedProfile, used by codegen

-------------------------------------------------------------------------------

*** JSQLCallableStatement ***

- renamed to RTCallableStatement
- added method getBigDecimal(int) 
- added method getObject(int, Class)
- renamed method toJSQLPreparedStatement as toRTPreparedStatement

-------------------------------------------------------------------------------

*** JSQLPreparedStatement ***

- renamed to RTPreparedStatement
- constructed with ExecutionContext instance (passed by codegen),
  underlying statement registered with passed execution context
- close method delays close of underlying JDBC statement until all open
  result sets are also closed
- close of a runtime statement causes the statement to be released from
  the associated execution context
- override methods executeUpdate, executeQuery using execution context

-------------------------------------------------------------------------------

*** JSQLResultSet ***

- renamed to RTResultSet
- added method getBigDecimal(int) 
- added method getObject(int, Class)

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile
-------------------------------------------------------------------------------

*** Customizer ***

- renamed as Customization
- all references to this class updated accordingly

-------------------------------------------------------------------------------

*** DefaultLoader ***

- getResourceAsStream method catches SecurityException from underlying
  call, returns null instead of propogating exception.  Added to insure
  uniform behavior with browsers.

-------------------------------------------------------------------------------

*** Profile ***

- method registerCustomizer renamed registerCustomization.
- registerCustomization doc clarification
- add method registerCustomization(new, before)
- add method replaceCustomization(new, old)
- method deregisterCustomizer renamed deregisterCustomization
- deregisterCustomization doc clarification
- method getCustomizer renamed getCustomizations
- added static method instantiate(Loader,InputStream) (previously private)

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.ref
-------------------------------------------------------------------------------

*** PositionedProfile ***

- override setWrappedProfile method
- made inner PositionedStatement class non-static which uses positioned
  profile instance's dynamic profile

-------------------------------------------------------------------------------

*** ProfileImpl ***

- implement new registerCustomization, replaceCustomization methods
- update implementation of registerCustomization, deregisterCustomization
  methods with exceptions in boundary cases.

-------------------------------------------------------------------------------

*** ProfileWrapper ***

- added method boolean setWrappedProfile

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.profile.util
-------------------------------------------------------------------------------

*** AuditedProfile ***

- override setWrappedProfile method
- audits are done passing wrapped object rather than "this"
- removed Auditor inner class

-------------------------------------------------------------------------------

*** Auditor ***

- made top-level class, moved out of AuditedProfile scope

-------------------------------------------------------------------------------

*** AuditorInstaller ***

- new class serves as utility to install debugging into profiles

-------------------------------------------------------------------------------

*** DataCustomizer ***

- main method operates only on files with .ser extension

-------------------------------------------------------------------------------

*** ProfilePrinter ***

- now operates on files with .ser extension in addition to profile names
  of form x.y.z
- prints each customization stored using toString

-------------------------------------------------------------------------------
PACKAGE sqlj.runtime.error
-------------------------------------------------------------------------------

*** RuntimeErrors ***

- added CONCURRENT_EXEC error (moved from runtime ref)

-------------------------------------------------------------------------------

*** RuntimeRefErrors ***

- removed CONCURRENT_EXEC error (moved to runtime)
- added INCOMPATIBLE_TYPE error
- added NULL_CONN_CTX error
- added NULL_EXEC_CTX error
- remove INVALID_EXEC_CTX error

-------------------------------------------------------------------------------
