Patch Notes for
Version  2.3.5 of the CrossWorlds Connector for JDBC/i2ADW/OracleApps/MCS

(for Infrastructure versions 4.x


The patch note contains the following sections:
 

CONNECTOR REVISIONS

UPGRADE INSTRUCTIONS


CONNECTOR REVISIONS

This patch contains the following revisions since the last maintenance release:
 

Available as of Version

APAR/CR Number

Feature

Description

2.3.5 JR 19263/
CR 30523/CR 29985/CR30598
1.Fix to handle cxignore on spparams.
2.Output Params from SP were using getString method to get all types to check for null.
3.Error message for deltaupdate on invalid verb was missing.
If one inp param for a SP was cxignore , the adapter was not setting values for the rest. The same has been fixed.
2. GetString method after a SP execution,creates problem in some driver (db2) . So fixed to use the appropriate data type method call.
3. Fixed the error message for deltaupdate on invalid verb.

2.3.4

JR 19223/

CR13779/CR 29539

  1. Deltaupdate verb support
  2. IsIgnore added on retrieve and delete verb processing.

A new verb DeltaUpdate Is supported on the adapter. This verb on parent allows to specify individual verbs on the children .The adapter will do operations on each child based on the verb set on that child.

 

On delete/retrieve if one of keys is isIgnore it will be ignored and not considered for the where clause.

 

2.3.3

JR 19040

CRs 25163/28415/

22193/26870/

27712/26156/28620

Handle padding of spaces on data retrieved from event table for DB400 database

 

Start scripts to be modified to support BIA_Filenames

 

Adapter fails to put message in fault queue on failure of DELETE

 

Default Values were not being set on a BO, on RetrieveByContent

 

In the case of the Sybase database that uses case-sensitive table names, the Check for Event Tables during Init was failing

 

Exception ‘Invalid Handle’ encountered when retrieving child BOs using stored procedures

 

 

 

ASIRetriever fails with business object definition not found, if a single cardinality child exist with different object name and object type in it

The DB400 database does not support variable length strings, so fields retrieved from the event table needed to be trimmed to remove the extra spaces before the events can be processed

 

The Start scripts support launching of jar files beginning with CW only. They have been modified to launch jar files beginning with BIA_ as well.

 

When attempting a DELETE, if the BO was not found, a message would be logged to that effect in the log file. This behaviour has been modified to return a FAIL, if the BO does not exist in the database. This will result in the BO being sent to the Fault Queue

 

When UseDefaultsForRetrieve was set to true, the default values were not being set on BO for the verb RetrieveByContent. This has been fixed.

 

Sybase can use case-sensitive table names and when checking for existence of the event tables during the initialization of the Adapter, upper case table names were being used. This was required for DB2 databases on the mainframe. Now a check is made for upper case names and if that fails, a check is made for the mixed case table name.

 

When retrieving child BOs using Stored Procedures, in certain cases, the result set was being closed before the data was retrieved and so the result set handle was invalid when an attempt was made to retrieve the data from the result set.

 

The Asi retriever called the get attribute name instead of GetAttributeType() and this causes the error if object attribute name and its type had different names.The same has been fixed.   

 

2.3.2

JR 19030 / CR 26551

JR 19030/CR26296

JDBC Adapter with Resultset and Output parameter fails to retrieve

Array index out of bounds exception on a container Retrieve.

In 2.2.8, we have the option of using output parameters to populate attributes in an N-cardinality BO and in 2.3.0 we introduced returning a resultset as an output parameter. There was a conflict in handling both the options simultaneously, in the merged version - 2.3.1. This has been resolved.

The code to generate the printable query for tracing was referring to key values and since only foreign keys were present it errored. This has been fixed.

 

2.3.1

JR18919 /CR25034

Event handling when connector agent is paused.

The adapter was archiving events in status 0 when the Agent Inactive code is returned on postBusObj().

Fix has been done to change event status to 0 and place it in the event table itself when connector is paused.This ensures that the next poll will process it.

And not allow the event to be archived in status 0.

 

2.2.8

     PQ76899/CR24785

The terminate method call was returning fail if there was any problems with releasing the connections from the connection pool. This would put the controller and agent in inactive state and not terminate the connector.

The terminate method now returns APPRESPONSETIMEOUT which terminates the connector.

 

2.2.7

JR18786

CR 

24755/23361

Retrieve fails with NullPointer Exception

Cursor leak problem with retry operations

When adding the enhancement for supporting populating of N cardinality BOs using ResultSets and Output Parameters from Stored Procedures, the population of N cardinality child BOs from ResultSets that can from a simple query was failing, because a check for the value if the Stored Procedure Information was not being made during the processing, resulting in a NullPointerException.

In a RETRY loop, if an SQLException occurred, the prepared statement was being closed only after the wait period for the retry interval. Closing the prepared statement right away will resolve the cursor leak issue.

 

2.2.6

JR 18597 

CR 23346

Support creation of child BOs using values obtained from Resultset and Output Parameters returned from the Stored Procedure

When a Stored Procedure returned a ResultSet, each row in the ResultSet was processed, creating an N-cardinality Child BO. Only the values returned from the ResultSet were used to populate the attributes in the child BOs. The new functionality now allows some attributes of each child BO to be populated using the values returned by the ResultSet and others through OUTPUT parameters (OP) returned from the Stored Procedure. The attributes populated from the output parameters are the same for each of the child BOs.

 

 

2.2.5

JR 18461

CR

22705/22534

Duplicate eventIds encountered during polling.

Unable to start standalone JDBC Connector on AIX 5.1 with WMQI Broker

During a Poll call, if processing of an event FAILS because of processing errors , the adapter returns from that polling cycle and does not continue processing events. Sometimes, this results in the event store cache not being cleared, which will result in an event being processed twice. This problem has been fixed. The connector now continues poll cycle if there are processing errors. All other failure scenarios are handled as documented in adapter user guide.

Startup script has been updated to set appropriate load library paths so that Adapter comes up appropriately on AIX.

 

2.2.4

JR 17988

CR 16571/19953/22108/17810/

22441

Generated appropriate error when incorrect Application Specific Information is provided.

Fix Null Pointer exception thrown when the property preserveUIDSeq is set to true.

Remove new line from i2ADWODA start script.

Convert column names to uppercase to fix SP for container retrieve.

Skip ignore and blank attributes while cloning objects.

The SQLException was being caught as a general exception resulting in getting a Database connection lost error. The SQLException is now being caught and the error is logged correctly.

Appropriate action has been taken to correct the Null Pointer exception.

I2ADWODA start script opens up a jar file when starting. Removed new line character, in remarks statement, which causes the problem.

The column names in asi and the result set meta data did not match due to case mis match. Added conversion to uppercase in both places to find the corresponding attributes for the columns.

Cloning throws null errors when it tries to set values for place holder attributes. Added logic to skip the null (cxignore values) while copying over attributes.

 

2.2.3

JR17922/19955

Stored Procedure support for a retrieve for update operation.

Update of attributes with null values also supported.

The ability to specify Stored procedure for RetrieveForUpdate is provided in this version.

when an update is sent in , the connector tries to do a retrieve using the SP specified instead of executinga retrieve query. Changes for supporting Update of attributes with values null is also done .

 

2.2.2

JR17857 / 18424

Update the events to inprogress In pollfor events

Some events are getting archived in status 0 ie. Readyforpoll. Few places where the event status did not change have been fixed to avoid this problem.

 

2.2.1

15907

Unique key generation feature added for DB2

Unique key generation by the DB2 database itself using the Identity column feature is now allowed instead of having to use the xworlds_uid table. 

 

 

 

 

 

 


UPGRADE INSTRUCTIONS

1.      If the connector version is 1.6.0 or above, please check the following:

  1. Apply the changes prescribed in each table below, beginning with the entries at the bottom of each table and working up to the most recent patch.

Add, replace, or remove the following files and directories as indicated (Note that these are rolled up in the patch you downloaded):

%APP% is one of:  JDBC, i2ADW,  OracleApps or MCS.
 

For Connector Version

Platform 

Add / Replace / Remove

File (Starting from %CROSSWORLDS%/$CROSSWORLDS)

2.3.5

WIN &UNIX

WIN

UNIX

Replace the file

Replace the file

Replace the file

%CROSSWORLDS%\connectors\%APP%\CW%APP%.JAR

%CROSSWORLDS%\connectors\%APP%\start_%APP%.bat

%CROSSWORLDS%\connectors\%APP%\start_%APP%.sh

2.3.4

WIN &UNIX

WIN

UNIX

Replace the file

Replace the file

Replace the file

%CROSSWORLDS%\connectors\%APP%\CW%APP%.JAR

%CROSSWORLDS%\connectors\%APP%\start_%APP%.bat

%CROSSWORLDS%\connectors\%APP%\start_%APP%.sh

 

2.3.3

WIN & UNIX

WIN

UNIX

Replace the file

Replace the file

Replace the file

%CROSSWORLDS%\connectors\%APP%\CW%APP%.JAR

%CROSSWORLDS%\connectors\%APP%\start_%APP%.bat

%CROSSWORLDS%\connectors\%APP%\start_%APP%.sh

2.3.2

WIN & UNIX

Replace the file

%CROSSWORLDS%\connectors\%APP%\CW%APP%.JAR

2.2.5

WIN & UNIX

UNIX

Replace the file

Replace the file

%CROSSWORLDS%\connectors\%APP%\CW%APP%.JAR

%CROSSWORLDS%\connectors\%APP%\start_%APP%.sh

2.2.4

WIN & UNIX 

Replace the file

%CROSSWORLDS%\connectors\%APP%\CW%APP%.JAR

2.2.3

WIN & UNIX

Replace the file

 %CROSSWORLDS%\connectors\%APP%\CW%APP%.JAR

2.2.2

WIN & UNIX

Replace the file

 %CROSSWORLDS%\connectors\%APP%\CW%APP%.JAR

 2.2.1

 WIN & UNIX

 Replace the file

 %CROSSWORLDS%\connectors\%APP%\CW%APP%.JAR

Configure the following for the patch to work:
 

Connector 
Version

Platform

Add / Remove

Property/Legal values (Case-Sensitive)

   -

   -

  -

  -


 


August 16, 2002 12:32 PM

© 2001 CrossWorlds Software, Inc. Proprietary and Confidential. All Rights Reserved.