PQ59311: MSSQLPORTABILITYLAYER CLASS CONVERTS TIMESTAMP TO DATETIMESTAMP

APAR status
Closed as program error.

Error description
If a timestamp is passed to MSSQLPortabilityLayer createTableFor
Persister, the call:
doctoredSql = replaceString(doctoredSql, " TIME", " DATETIME");
.
Will change a TIMESTAMP to DATETIMESTAMP, which is not a valid S
QLServer data type.
TIMESTAMP is a valid type and should not be changed.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: All Websphere Application Server users of    *
*                 Microsoft SQL server as their Database.      *
****************************************************************
* PROBLEM DESCRIPTION: The MSSQL portability layer was         *
*                      converting DATE -> DATETIME,            *
*                      TIME -> DATETIME, and DOUBLE -> FLOAT.  *
*                      This would result in TIMESTAMP being    *
*                      converted to DATETIMESTAMP, which is    *
*                      not valid.                              *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
MSSQLServer does not support the DATE, TIME, or DOUBLE data
types so the createTableForPersister method converts occurrences
of these Strings as follows,
DATE --> DATETIME,  TIME --> DATETIME, AND DOUBLE --> FLOAT
The problem here is that ALL occurrences of these Strings (in
this case " TIME") within the CREATE TABLE statement are being
replaced.  Sometimes it is valid to do so; sometimes it is not.
In this case, the customer was correctly using another
MSSQLServer type, called TIMESTAMP, which happens to begin with
the String TIME.  This was then converted to DATETIMESTAMP,
which is not a valid data type.
Problem conclusion
The code was changed to increase the amount of text in the SQL
statement which must be matched for replacement.  This should
avoid inadvertently converting parts of column names and other
data types.
Temporary fix Comments
APAR information
APAR number PQ59311
Reported component name WEBSPHERE AES N
Reported component ID 5630A2301
Reported release 400
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2002-03-21
Closed date 2002-03-21
Last modified date 2002-03-21

APAR is sysrouted FROM one or more of the following:
PQ57523

APAR is sysrouted TO one or more of the following:

Modules/Macros
JDBC          

Fix information
Fixed component name WEBSPHERE AES N
Fixed component ID 5630A2301

Applicable component levels
R400 PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ59311
IBM Group: Software Group
Modified date: Mar 21, 2002