WOF 

Title: WOF 3.5.1 Patch Overview
Entry Number: 2601
Creation Date: February 19, 1998
Procedure Valid for Release: WOF 3.5.1

Keywords: WOF, patch, Sybase, ODBC, EOF, stored procedure

Overview

This patch covers bugs that were introduced in both the ODBC EOF adaptor and the Sybase EOF adaptor that shipped with WebObjects 3.5.1. These bugs affect all platforms on which WebObjects 3.5.1 shipped.

Caution:  These patches should only be installed on systems running WOF 3.5.1.

Sybase Adaptor Patch

There are two bugs that the Sybase Adaptor patch fixes.  They are also listed in the EOF 2.2 release notes, NeXTanswer #2559.

Reference: 2203081

Problem: All parameters are required when executing a Sybase stored procedure. This bug is only in WOF 3.5.1.

Description: If you do not supply all values when executing a Sybase stored procedure, the execution will fail with an exception like:

Feb 19 11:23:53 WOF_3_5_Sybase_Patch[1027] Caught exception:EOGeneralAdaptorException
Sybase: Server:unknown Procedure:NEXT_MOVIE_PRIMARY_KEY Line:0 Procedure NEXT_MOVIE_PRIMARY_KEY expects parameter @A_MOVIE_ID, which was not supplied.

This happens even though A_MOVIE_ID is not required for the stored procedure.

Workarounds:

1) Install this patch.

2) You can create a delegate on the Sybase adaptor channel that implements the following method:

- (NSDictionary *)adaptorChannel:(id)channel shouldExecuteStoredProcedure: (EOStoredProcedure *)procedure withValues:(NSDictionary *)values
{
    NSArray *attributes;
    NSMutableDictionary *newValues;
    int i;

    if ( values ) {
        newValues = [values mutableCopy];
    } else {
        newValues = [NSMutableDictionary dictionary];
    }
    attributes = [procedure arguments];
    for ( i = [attributes count] - 1 ; i >=0 ; i-- ) {
        if ( ![newValues objectForKey:[[attributes objectAtIndex:i] name]] ) {
            [newValues setObject:[EONull null] forKey:[[attributes objectAtIndex:i] name]];
        }
    }
    return newValues;
}

Reference: 2208497

Problem: Cannot fetch float-NSDecimalNumber along with text columns. This bug is in all versions of the Sybase adaptor up to and including WOF 3.5.1.

Description: If you have an attribute with external type float, and internal type NSDecimalNumber, it will not fetch properly if a text column is also in the fetch. The attribute will be blank.

Workarounds: 

1) Install this patch.

2) Change the internal type of the attribute to float.

Installing the Sybase Adaptor Patch

Windows NT
The Sybase patch for Windows NT is 2603_WOF_3.5.1_SybaseAdaptor_Patch.NT.gtar.gz. To install it, open up a shell (from the WebObjects start menu) and issue the following commands as root, replacing the patch file name with the full path of the patch file you downloaded:

cd $NEXT_ROOT
gunzip -c 2603_WOF_3.5.1_SybaseAdaptor_Patch.NT.gtar.gz | gnutar xvf -

OPENSTEP/Mach
The Sybase patch for mach is 2604_WOF_3.5.1_SybaseAdaptor_Patch.mach.gtar.gz. To install it, open up a Terminal and issue the following commands as root, replacing the patch file name with the full path of the patch file you downloaded:

cd /
gnutar xvzf 2604_WOF_3.5.1_SybaseAdaptor_Patch.mach.gtar.gz

Solaris
The Sybase patch for Solaris is 2610_WOF_3.5.1_SybaseAdaptor_Patch.Solaris.gtar.gz. To install it, open up a Terminal and issue the following commands as root, replacing the patch file name with the full path of the patch file you downloaded:

cd $NEXT_ROOT
zcat 2610_WOF_3.5.1_SybaseAdaptor_Patch.Solaris.gtar.gz | gnutar xvf -

HP-UX
The Sybase patch for HP-UX is 2609_WOF_3.5.1_SybaseAdaptor_Patch.HP-UX.gtar.gz. To install it, open up a Terminal and issue the following commands as root, replacing the patch file name with the full path of the patch file you downloaded:

cd $NEXT_ROOT
zcat 2609_WOF_3.5.1_SybaseAdaptor_Patch.HP-UX.gtar.gz | gnutar xvf -

ODBC Adaptor Patch

There are two bugs that the ODBC Adaptor patch fix. They are also listed in the EOF 2.2 release notes. (2559_2.2_EOF.rtf)

Reference: 2208503

Problem: ODBC adaptor cannot execute stored procedures with output parameters.

Description: The EOF 2.2 (WOF 3.5) version of ODBCEOAdaptor.framework introduced a
bug which causes an error when using a stored procedure with an output
parameter.  (Input parameters to stored procedures work fine.)  The WOF
3.5.1 patch fixes the output parameter bug.

Workaround: Install this patch.

Reference: 2209574

Problem: ODBC adaptor leaks connections with MS Access

Description: The EOF 2.2 (WOF 3.5) and earlier versions of ODBCEOAdaptor.framework
did not release ODBC connections when using MS Access (or any JET
based data source) in order to work around a bug in the Microsoft
"odbcjt32.dll" which caused a crash when SQLFreeConnect was called.
The SQLFreeConnect bug was discovered in 3.40.2829 version of the DLL.
Newer version of the DLL (beyond 3.50) no longer exhibit the crashing
problem.  The ODBCEOAdaptor.framework in this WOF 3.5.1 patch release
now checks the version of the DLL more carefully and allows
SQLFreeConnect to be called unless the DLL version is 3.4X, and
thereby no longer leaks the ODBC Connection when running with fixed
versions of "odbcjt32.dll".

Workaround: Install this patch.

Installing the ODBC Adaptor Patch

Windows NT
The ODBC adaptor patch is only available for Windows NT. It is 2602_WOF_3.5.1_ODBCAdaptor_Patch.NT.gtar.gz. To install it, open up a shell (from the WebObjects start menu) and issue the following commands as root: (replacing the patch file name with the full path of the patch file you downloaded)

cd $NEXT_ROOT
gunzip -c WOF_3.5.1_ODBCAdaptor_Patch.NT.gtar.gz | gnutar xvf -

See Also:
	No additional notes as of <<Date March 4, 1998>>