RELEASE NOTES FOR

Informix JDBC Driver 2.0

DATE: 4/9/99

Table of Contents

Overview of Release Notes

New Features

Informix Server Compatibility

Configuration

New Names for Extension Classes

General Informix JDBC Driver Limitations

Error Messages

Known Problems

Fixed Problems

Overview of Release Notes

The purpose of these release notes is to make you aware of any special actions required to configure and use the Informix JDBC Driver on your computer. This file also describes new features and feature differences from earlier versions of this product and other Informix products, and how these differences affect current products. In addition, this file contains information about known bugs and their workarounds.

This release notes document is not intended to be all-inclusive; it should be used as an addendum to the "Informix JDBC Driver Programmer's Guide, Version 2.0," which provides thorough information about product features and behavior.

These release notes are written for Java programmers who use the JDBC API to connect to Informix databases via the Informix JDBC Driver.

New Features

The new features for release 2.0 of the Informix JDBC Driver are as follows:

Informix Server Compatibility

Informix JDBC Driver 2.0 is compatible with the following server versions:

Configuration

To use the Informix JDBC Driver directly, you must have a JDK 1.2 (or later) package on your platform. Please refer to http://splash.javasoft.com/jdbc/ for details.

New Names for Extension Classes

The names of the following Informix extension classes have changed:

OLD NAME NEW NAME

IfxResultSet IfmxResultSet

IfxPreparedStatement IfmxPreparedStatement

IfxStatement IfmxStatement

IfxComplexInput IfmxComplexSQLInput

IfxComplexOutput IfmxComplexSQLOutput

SQLUDTInput IfmxUdtSQLInput

SQLUDTOutput IfmxUdtSQLOutput

The old names are still supported to maintain backward compatibility.

In addition, the Interval, IntervalYM, and IntervalDF classes have been moved to the com.informix.lang package.

General Informix JDBC Driver Limitations

Please refer to the "Informix JDBC Driver Programmer's Guide, Version 2.0" for a complete list of unsupported methods in Informix JDBC driver. Additional general limitations are as follows:

For example, if one thread executes the "Statement.executeQuery()" method on a Statement object, and another thread executes the "Statement.executeUpdate()" method on the same Statement object, the results of both methods are unexpected and depend on which method was executed last.

Similarly, if one thread executes the method ResultSet.next() and another thread executes the same method on the same ResultSet object, the results of both methods are unexpected and depend on which method was executed last.

If you connect to a non-GLS server, the behavior is the same as the JDBC driver 1.22 version.

Error Messages

-79700 Method not supported

Informix's driver does not support this JDBC method. See the "Informix JDBC Driver Programmer's Guide, Version 2.0" for further information.

-79702 Can't create new object

The software could not allocate memory for a new String object.

-79703 Row/column index out of range

The row/column index is out of range. Please compare the index to the number of rows/columns expected from the query to ensure that it is within range.

-79704 Can't load driver

The Informix driver could not create an instance of itself and register it with the DriverManager. The rest of the SQLException text describes what failed.

-79705 Incorrect URL format

The URL you have submitted is invalid. The Informix Driver does not recognize the syntax. Please check the syntax and try again.

-79706 Incomplete input

An invalid character was found during conversion of a String value to an IntervalDF or IntervalYF. Check the "Informix JDBC Driver Programmer's Guide, Version 2.0" for correct values.

-79707 Invalid qualifier

An error was found during construction of an Interval qualifier from atomic elements: length, start or end values. Check the length, start and end values to verify that they are correct. See the "Informix JDBC Driver Programmer's Guide, Version 2.0" for correct values.

-79708 Can't take null input

The string you have provided is NULL. The Driver does not understand NULL input in this case. Please check the input string to ensure that it has the proper value.

-79709 Error in date format

The expected input is a valid date string in the following format: yyyy-mm-dd. Check the date and verify that it has a 4-digit year, followed by a valid 2-digit month and 2-digit day. The delimiter must be a dash (-).

-79710 Syntax error in SQL escape clause

Invalid syntax was passed to a jdbc escape clause. Valid JDBC escape clause syntax is demarcated by curly braces and a key word as follows: {keyword syntax}. Check the "Informix JDBC Driver Programmer's Guide, Version 2.0" for a list of valid escape clause keywords and syntax.

-79711 Error in time format

An invalid time format was passed to a JDBC escape clause. The escape clause syntax for time literals is as follows: {t `hh:mm:ss'}.

-79712 Error in timestamp format

An invalid timestamp format was passed to a JDBC escape clause. The escape clause syntax for timestamp literals is as follows: {ts `yyyy-mm-dd hh:mm:ss.f...'}.

-79713 Incorrect number of arguments

An incorrect number of arguments was passed to the scalar function escape syntax. The correct syntax is as follows: {fn function(arguments)}. Verify that the correct number of arguments were passed to the function.

-79714 Type not supported

You have specified a data type that is not supported by the driver. Check your program to make sure the data type used is among those supported by the driver.

-79715 Syntax error

Invalid syntax was passed to a jdbc escape clause. Valid JDBC escape clause syntax is demarcated by curly braces and a key word as follows: {keyword syntax}. Check the "Informix JDBC Driver Programmer's Guide, Version 2.0" for a list of valid escape clause keywords and syntax.

-79716 System or internal error

An operating or runtime system error or a driver internal error occurred. The accompanying message describes the problem.

-79717 Invalid qualifier length

The length value for an Interval object is incorrect. See the "Informix JDBC Driver Programmer's Guide, Version 2.0" for correct values.

-79718 Invalid qualifier start code

The start value for an Interval object is incorrect. See the "Informix JDBC Driver Programmer's Guide, Version 2.0" for correct values.

-79719 Invalid qualifier end code

The end value for an Interval object is incorrect. See the "Informix JDBC Driver Programmer's Guide, Version 2.0" for correct values.

-79720 Invalid qualifier start or end code

The start or end value for an Interval object is incorrect. See the "Informix JDBC Driver Programmer's Guide, Version 2.0" for correct values.

-79721 Invalid interval string

An error occurred during conversion of a String value to an IntervalDF or IntervalYF. Check the "Informix JDBC Driver Programmer's Guide, Version 2.0" for the correct format.

-79722 Numeric character(s) expected

An error occurred during conversion of a String value to an IntervalDF or IntervalYF. A numeric value was expected and not found. Check the "Informix JDBC Driver Programmer's Guide, Version 2.0" for the correct format.

-79723 Delimiter character(s) expected

An error occurred during conversion of a String value to an IntervalDF or IntervalYF. A delimiter was expected and not found. Check the "Informix JDBC Driver Programmer's Guide, Version 2.0" for the correct format.

-79724 Character(s) expected

An error occurred during conversion of a String value to an IntervalDF or IntervalYF. "End of string" was encountered before conversion was complete. Check the "Informix JDBC Driver Programmer's Guide, Version 2.0" for the correct format.

-79725 Extra character(s) found

An error occurred during conversion of a String value to an IntervalDF or IntervalYF. "End of string" was expected, but there were additional characters in the string. Check the "Informix JDBC Driver Programmer's Guide, Version 2.0" for the correct format.

-79726 Null SQL statement

The SQL statement passed in was NULL. Check the SQL statement string of your program to make sure it contains a valid statement.

-79727 Statement was not prepared

The SQL statement was not prepared properly. If you use host variables (for example, "insert into mytab values (?, ?);") in your SQL statement, you must use connection.prepareStatement() to prepare the SQL statement before you can execute it.

-79728 Unknown object type

If this is a null opapue type then the type if unknown and can not be processed. f this is a complex type then the data in the collection or array are of an unknown type and can not be mapped to an Informix type. If this is a row then one of the elements in a row can not be mapped to a Informix type. Verify the customized type mapping or data type of the object.

-79729 Method cannot take argument

The method does not take an argument. Please refer to your Java API specification or the "Informix JDBC Driver Programmer's Guide, Version 2.0" to make sure you are using the method properly.

-79730 Connection not established

A connection was not established. You must obtain the connection by calling DriverManager.getConnection() first.

-79731 MaxRows out of range

You have specified an out of range maxRow value. Make sure you specify a value between 0 and Integer.MAX_VALUE.

-79732 Illegal cursor name

The cursor name specified is illegal. Make sure the string passed in is not NULL or empty.

-79733 No active result

The statement does not contain an active result. Check your program logic to make sure you have called the executeXXX() method before attempting to refer to the result.

-79734 INFORMIXSERVER has to be specified

INFORMIXSERVER is a property required for connecting to an Informix database. You can specify it in the URL or as part of a Properties object that is passed to the connect() method.

-79735 Can't instantiate protocol

An internal error occurred during a connection attempt. Call Informix Technical Support.

-79736 No connection/statement establish yet

There is no current connection or statement. Check your program to make sure a connection was properly established and/or a statement was created.

-79737 No meta data

There is no metadata available for this SQL statement. Make sure the statement generates a resultset before you attempt to use it.

-79738 No such column name

The column name specified does not exist. Make sure the column name is correct.

-79739 No current row

The cursor is not properly positioned yet. You must first position the cursor within the resultset by using a method such as resultset.next(), resultset.beforefirst(), resultset.first(), or resultset.absolute().

-79740 No statement created

There is no current statement. Make sure the statement was properly created.

-79741 Can't convert to

There is no data conversion possible from the column data type to the one specified. The actual data type will be appended to the end of this message. Please review your program logic to make sure that the conversion you have asked for is supported. You can refer to the user guide for the data mapping matrix.

-79742 Can't convert from

No data conversion is possible from the data type you specified to the column data type. The actual data type is appended to the end of this message. Check your program logic to make sure that the conversion you have asked for is supported. Refer to the "Informix JDBC Driver Programmer's Guide, Version 2.0" for the data mapping matrix.

-79744 Transactions not supported

The user has tried to call commit() or rollback() on a database that does not support transactions, or has tried to set autoCommit to false on a non-logging database. Verify that the current database has the correct logging mode and review the program logic.

-79745 Read only mode not supported

Informix does not support readOnly mode.

-79746 No Transaction Isolation on non-logging db's

Informix does not support setting the transaction isolation level on non-logging databases.

-79747 Invalid transaction isolation level

If the server could not complete the rollback, this error occurs. See the rest of the SQLException for more details about why the rollback failed.

This error also occurs if an invalid transaction level is passed to setTransactionIsolation(). The valid values are TRANSACTION_READ_UNCOMMITTED, TRANSACTION_READ_COMMITTED, TRANSACTION_REPEATABLE_READ, and TRANSACTION_SERIALIZABLE.

-79748 Can't lock the connection

The driver normally locks the connection object just before beginning the data exchange with the server. The driver could not obtain the lock. Only one thread at a time should use the connection object.

-79749 Number of input values does not match number of question marks

The number of bind variables that you set using the PreparedStatement.setXXX() methods in this statement does not match the number of "?" place holders that you wrote into the statement. Locate the text of the statement and verify the number of place holders, then check the calls to PreparedStatement.setXXX().

-79750 Method only for queries

Statement.executeQuery(String) and PreparedStatement.executeQuery() should only be used if the statement is a SELECT statement. For other statements use Statement.execute(String), Statement.executeBatch(), Statement.executeUpdate(String), Statement.getUpdateCount(), Statement.getResultSet() or PreparedStatement.executeUpdate().

-79751 Forward fetch only. (in JDBC 1.2)

The resultSet is not set to FETCH_FORWARD. Call Resultset.setFetchDirection(ResultSet.FETCH_FORWARD) to reset the direction.

-79755 Object is null.

The object passed in is NULL. Check your program logic to make sure your object reference is valid.

-79756 must start with `jdbc'

The first token of the URL must be the keyword `jdbc' (case insensitive). For example:

 
URL: jdbc:informix-sqli://mymachine:1234/mydatabase:user=me:password=secret

-79757 Invalid sub-protocol

The current valid sub-protocol supported by Informix is informix-sqli.

-79758 Invalid ip address

When you connect to an Informix server via an ip address, the ip address must be a valid address. A valid ip address is set of four numbers between 0 and 255 separated by periods (.), for example: 127.0.0.1.

-79759 Invalid port number

The port number must be a valid 4-digit number, for example:

 
URL: jdbc:informix-sqli://mymachine:1234/mydatabase:user=me:password=secret

In this example, `1234' is the port number.

-79760 Invalid database name

This statement contains the name of a database in some invalid format.

The maximum length for database names and cursor names depends on the version of the database server. In 7.x, 8.x, and 9.1x versions, the maximum length is 18 characters. In 9.2 and later versions, the maximum length is 128 characters.

For INFORMIX-SE, database names should be no longer than 10 characters (fewer in some host operating systems).

Both database and cursor names must begin with a letter and contain only letters, numbers, and underscore characters. In the 6.0 and later versions of the database server, database and cursor names can begin with an underscore. In 9.2 and later versions, these names can include dollar sign characters.

In MS-DOS systems, filenames can be a maximum of 8 characters plus a 3-character extension.

-79761 Invalid Property format

The URL accepts property values in `key=value' pairs. For example, `user=informix:password=informix' adds the key/value pairs to the list of properties that are passed to the connection object. Check the syntax of the key/value pair for syntax errors. Make sure there is only one `=' sign; \that there are no spaces separating the key, value, or `='; and that key/value pairs are separated by one colon(:), again with no spaces.

-79762 Attempt to connect to a non 5.x server

When connecting to a version 5.x server, the user must set the URL property USE5SERVER to any non-null value. If a connection is then made to a version 6 or later server, this exception is thrown. Verify that the version of the server is correct and modify the URL as needed.

-79763 Only CONCUR_READ_ONLY is supported

The driver supports only ResultSet.CONCUR_READ_ONLY. You can only call Connection.createStatement(int, int), Connection.prepareStatement(String, int, int), or Connection.CallableStatement(String, int, int) with a result set concurrency value of CONCUR_READ_ONLY.

-79764 Invalid Fetch Direction value

An invalid fetch direction was passed as an argument to Statement.setFetchDirection() or ResultSet.setFetchDirection(). Valid values are FETCH_FORWARD, FETCH_REVERSE, and FETCH_UNKNOWN.

-79765 ResultSet Type is TYPE_FETCH_FORWARD, direction can only be FETCH_FORWARD

The result set type has been set to TYPE_FORWARD_ONLY, but setFetchDirection() has been called with a value other than FETCH_FORWARD. The direction specified must be consistent with the result type specified.

-79766 Incorrect Fetch Size value

Statement.setFetchSize() has been called with an illegal value. Verify that the value passed in is greater than 0. If setMaxRows has been called, the fetch size must not exceed that value.

-79767 ResultSet Type is TYPE_FORWARD_ONLY

A method such as ResultSet.beforFirst(), ResultSet.afterLast(), ResultSet.first(), ResultSet.last(), ResultSet.absolute(), ResultSet.relative(), ResultSet.current(), or ResultSet.previous() has been called, but result set type is TYPE_FORWARD_ONLY. Call only ResultSet.next() if the result set type is TYPE_FORWARD_ONLY.

-79768 Incorrect row value

ResultSet.absolute() has been called with a value of 0. The parameter must be > 0.

-79769 A customized type map is required for this data type

You must register a customized type map to use any opaque types.

-79770 Cannot find the SQLTypeName specified in the SQLData or Struct

The SQLTypename you specified in the SQLData or Struct class does not exist in the database. Make sure that the type name is valid.

-79771 Input value is not valid

The input value is not accepted for this data type. Make sure this is a valid input for this data type.

-79772 No more data to read. Verify your SQLdata class or getSQLTypeName()

You have asked for more data than what is available. Check your SQLData class to make sure it matches what is in the database schema. The SQLTypeName may also be incorrect.

-79774 Unable to create local file

Large Object data read from the server can be stored either in memory or in a local file. If the LOBCACHE value is 0 or the large object size is greater than the LOBCACHE value, the large object data from the server is always stored in a file. In this case, if a Security Exception occurs, the JDBC driver makes no attempt to store the large object into memory and throws this exception.

-79775 Only TYPE_SCROLL_INSENSITIVE and TYPE_FORWARD_ONLY are supported.

The driver currently only supports a result set type of TYPE_SCROLL_INSENSITIVE and TYPE_FORWARD_ONLY. Only these values should be used.

-79776 Type requested (%s) does not match row type information (%s) type

Row type information was acquired either through the system catalogs or through the supplied row definition. The row data provided does not match this row element type. The type information must be modified or the data must be provided.

-79777 readObject/writeObject() only supports UDT's, Distincts and complex types

SQLData.writeObject() was called for an object that is not a user-defined, distinct, or complex type. Verify that you have provided customized type mapping information.

-79778 Type mapping class must be a java.util.Collection implementation

You provided a type mapping to override the default for a set, list, or multiset, but the class does not implement the java.util.Collection interface.

-79780 Data within a collection must all be the same Java class and length.

Verify that all the objects in the collection are of the same class.

-79781 Index/Count out of range

Array.getArray() or Array.getResultSet() was called with index and count values. Either the index is out of range or the count is too big. Verify that the number of elements in the Array is sufficient for the index and count values.

-79782 Method can be called only once

Make sure methods like Statement.getUpdateCount() and Statement.getResultSet() are called only once per result.

-79783 Encoding or code set not supported

The encoding or code set entered in the DB_LOCALE or CLIENT_LOCALE variable is not valid. Check the "Informix JDBC Driver Programmer's Guide, Version 2.0" for valid code sets.

-79784 Locale not supported

The locale entered in the DB_LOCALE or CLIENT_LOCALE variable is not valid. Check the "Informix JDBC Driver Programmer's Guide, Version 2.0" for valid locales.

-79785 Unable to convert JDBC escape format date string to localized date string

The JDBC escape format for date values must be specified as follows: {d `yyyy-mm-dd'}. Verify that the JDBC escape date format specified is correct. Verify the DBDATE and GL_DATE settings for the correct date string format if either of these was set to a value in the connection URL string or property list.

-79786 Unable to build a Date object based on localized date string representation

The localized date string representation specified in a char, varchar, or lvarchar column is not correct, and because of this a date object cannot be built based on the year, month, and day values. Verify that the date string representation conforms to the DBDATE or GL_DATE date formats if either one of these is specified in a connection URL string or property list. If neither DBDATE or GL_DATE is specified, but a CLIENT_LOCALE or DB_LOCALE is explicitly set in a connection URL string or property list, verify that the date string representation conforms to the JDK short default format (DateFormat.SHORT).

-79788 User name must be specified

The user name is required to establish a connection with this JDBC driver. Please make sure you pass in "user=your_user_name" as part of the URL or one of the properties.

-79789 Server does not support GLS variables DB_LOCALE, CLIENT_LOCALE or GL_DATE

These variables can only be used if the server supports GLS. Check the documentation for your server version and omit these variables if they are not supported.

-79790 Invalid complex type definition string

The value returned by getSQLtypeName() is either null or invalid. Check the string to verify that it is either a valid named-row name or a valid row type definition.

-79792 Row must contain data

Array.getAttributes() or Array.getAttributes(Map) has returned 0 elements. These methods must return a non-zero number.

-79793 Data in array does not match getBaseType() value

The Array.getArray() or Array.getArray(Map) method returns an array where the element type does not match the JDBC base type.

-79794 Row length provided (%s) doesn't match row type information (%s)

Data in the row does not match the length in the row type information. You do not have to pad string lengths to match what is in the row definition, but lengths for other data types should match.

-79795 Row extended id provided (%s) doesn't match row type information (%s)

The xid of the object in the row does not match the xid as defined in row type information. Either update the row information (if you are providing the row definition) or check the type mapping information.

-79796 Cannot find UDT, distinct or named row (%s) in database

getSQLTypeName() has returned a name that can not be found in the database. Verify that the Struct or SQLData object returns the correct information.

Known Problems

This section describes the known problems with this release of the Informix JDBC Driver and shows how to work around these problems.

Bug #99788

If the client java application has set OPTOFC and the server is XPS, the server does not notify the client that the cursor has been closed.

Bug #103756

Collections and rows are not supported in opaque types.

Bug #105632

Trying to select a multiset(decimal(15)) element from a row results in a stringindexoutofboundsexception:string index out of range:-9 error.

Bug #104641

SQL code is not shown in the output when an SQLException is thrown.

Bug #101735

For the JDBC Version 2.0 release, all messages are only in English regardless of locale.

Bug #101669

Informix JDBC driver 1.4 does not support code set conversion of CLOB or TEXT types. A workaround for TEXT types is described in the section, "Code Set Conversion for TEXT Data Types."

Bug #95082

The ResultsetMetaData.getTableName() method returns an empty string when called. It should return a table name.

Bug #106343

The browse dialog for selecting the target directory does not work properly for the NT or UNIX installation of Informix JDBC Driver.

Bug #106354

Unsupported methods throw exceptions that cause some applications running on hetrogenous database servers to prematurely abort.

Bug #108019

Batch update fails if you attempt to insert rows with TEXT or BYTE columns.

Bug #107892

When doing string to DATE, TIMESTAMP, or DATETIME conversion, the driver does not take the DBCENTURY setting into account if the year is less then 3 digits.

Bug #108234

If the SECURITY=PASSWORD option is not included in the URL when you connect to a CSM enabled server, the application hangs and no error is given.

Bug #108295

The setCharacterStream() and getCharacterStream() methods are not supported.

Bug #108496

If the Connection.setTransactionIsolation() method is called in the middle of a transaction, it should trigger the commit call, but instead it returns an error.

Bug #108497

An OUTOFMEMORYERROR or NEGATIVEARRAYSIZEEXCEPTION error occurs because the stream.readObject() method returns a null instead of returning an error that this is the wrong method to call. Since this is a named row, you should call the getClob() or getBlob() method instead.

Fixed Problems

The following problems have been fixed since the JDBC Version 1.22 release:

Bug #105652

The stores7 demo does not work for all servers.

Bug #103767

The error message is misleading when the setTransactionIsolation method() is executed on a connection before a database has been selected.

Bug #106210

RMI server database connections fail when you use a JDBC application with Sun's JDK version 1.2.

Bug #106643

When you retrieve values into an IntervaLDF (day-to-fraction) object, sometimes you get a NegativeArraySizeException error.

Bug #107696

The DatabaseMetaData.getTable() method does not return the correct owner information.

Bug #107732

Subtracting two DATETIME values within an SQL statement returns an INTERVAL value, but the driver gives the null ix000 internal error or error -79716.

Bug #107771

Selecting a DATE column does not return correct era year when the DBDATE or GL_DATE variable is set to display era years.

Bug #104831

The database server converts row type names to lower case, but Informix JDBC driver and the map.put() and map.get() methods do not, so map.put() with a non-lowercase name fails.

Bug #105286

The DatabaseMetaData.getCatalogs() method needs to support selecting database names even if the server does not have the sysmaster database. Servers prior to 6.0 do not support the sysmaster database.

Bug #105447

If you use the ResultSet.getstring method on a MONEY column, two trailing zeros and a decimal place are absent for even dollar amounts (for example, you get 5 instead of 5.00).

Bug #104640

The server name is missing from the message text when you attempt to connect to an instance that is down.

Bug #101575

A distinct of an opaque type and a distinct of a complex type are not supported as complex type elements.

Bug #95375

The executeUpdate() method raises an exception (sq_err=100) for a DELETE FROM TABLE statement if the table is empty.

Bug #106323

The GLS Japanese codeset ja_jp.EUC_JP is not supported in JDBC.

Bug #106611

The driver does not work with the Netscape browser when applets are not signed.

Bug #104220

The code set "GB" returns the exception "iso2022cn_gb" when you retrieve data.

Bug #101172

Clob and Blob types are not supported in complex types.

Bug #103468

A distinct type is sometimes cast to a DATETIME MONTH TO DAY type.

Bug #103620

The com.informix.jdbc.ifxdriver.acceptsURL() method returns true or throws an exception when the correct result should be false for an invalid URL.

Bug #101948

If Resultset.getDate() calls a char or varchar date string representation of the DBDATE setting, this causes SQLException -79716 if the string has a 1-digit month or day.

Bug #99333

The DatabaseMetaData.getDatabaseProductVersion() method returns an error instead of the product version.

Bug #99323

If all the columns of a table have a particular table-level privilege, such as UPDATE, the DatabaseMetaData.getColumnPrivileges() method returns no rows when executed on the table. If, however, only some of the columns have a particular privilege, then those columns are returned by the method. This is true for all table-level privileges.

Bug #99180

When an SQLException is thrown after a database access error, the SQLException object contains the error message and error code, but not the ISAM code.

Bug #98905

The following Informix JDBC Driver error messages do not contain the name of the method that caused the error:

-79700 Method not supported

-79729 Method can not take argument

-79750 Method only for queries

Bug #105092

On UNIX platforms, Informix JDBC driver installation sets directory permissions readable by group but not by all.

Bug #104540

If a CHAR column has spaces at the beginning of the string, these spaces are lost when you select this value into a Java string.

Bug #103963

Temporary tables created by the databaseMetaData class methods are not dropped when the associated result set object is closed or goes out of scope.

Bug #103755

ResultSet.getByte() returns 0 and getShort() returns error 23552 on a decimal value when the value overflows a byte and short value.

Bug #102885

A call to driverManager.getConnection() with a URL that does not include the user and password gives error 25563.

Bug #102567

The DatabaseMetaData.getImportedKeys() and getExportedKeys() methods return only the 1st element of a composite foreign key.

Bug #102467

DatabaseMetaData temporary table data types do not take long id servers into consideration.

Bug #102194

Database warnigs are not propagated up to the Connection object on a 5.x server.

Bug #101921

Missing keywords in the URL cause the client to crash with classCastException.

Bug #101881

You cannot connect using a non-password login account.

Bug #101175

Informix JDBC driver always maps a DATETIME column to YEAR TO FRACTION(5) and TIMESTAMP. If the column is HOUR TO SEC, the driver should map this to a TIME column.

Bug #100189

Informix JDBC driver memory leak - repeated calls to the Java API executeQuery() method after calling createStatement() cause the session size to grow on the server.

Bug #99684

ResultSet becomes null in a large application.

Bug #99513

A Type-4 driver crashes a 7.30.FC4 IDS server while querying a TEXT data type.

Bug #99442

When multiple threads are executing as a result of a getBestRowIdentifier call, a single connection error is returned.

Bug #99440

The "Cannot read network user authorization file" error occurs when multiple threads are sharing a connection.

Bug #102916

If a projection list in a SELECT statement includes an NCHAR column, all columns after the NCHAR column contain corrupted data.

Bug #102213

In the ResultSet.getBytes() and ResultSet.getBlob() methods, the first postion of a Blob object starts at 0 instead of 1 as the Javasoft documentation specifies.

Bug #102221

Interval data is not suported in complex types.

Bug #102285

The ClassGenerator utility always maps a DATETIME column to a Timestamp object, when it should map to a Time object.

Bug #102292

If you use a SELECT * FROM TAB statement, where TAB is a multibyte japanese table with mb japanese columns, you get a "system or internal error" exception.

Bug #102816

If you set SETFETCHSIZE to 10 or any number, an incorrect fetch size exception is given.

Bug #102817

Calling the ResultSet.previous() method after calling the ResultSet.afterLast() method does not move the pointer to the previous record even when the record is present.

Bug #101177

Inserting CHAR or VARCHAR strings in nested collections results in garbled data if strings are of variable length.

Bug #102028

The ResultSetMetaData.getColumns() method returns 2000 as the column type for a BLOB or CLOB column instead of 2004 for BLOB and 2005 for CLOB (types.blob and types.clob).

Bug #103235

It is not possible to create a BLOB or CLOB column in a non-default dbspace.

Bug #103275

An MI_INTERVAL object is not supported for opaque types.

Bug #103288

When the IfxSmartBlob.IfxLoSeek() method is called, an exception is thrown with a null message and error -7532.

Bug #103491

The Array.getArray(long, int) method behaves as if the index starts with 0. According to the lastest documentation, it is supposed to start with 1.

Bug #103505

The IfxLoRead and IfxLoSeek methods return invalid errors if you seek within a BLOB object beyond the available size and try to read the data.

Bug #104024

Fetching a distinct of an opaque column returns the java.sql.sqlexception "can't convert to: int".

Bug #105312

The DatabaseMetaData.getUserName() method should return a username to the connection instead of null when a trusted client is used.

Bug #106131

The DatabaseMetaData.getColumns() method fails with "(colmin) not found" when Informix JDBC Driver is connected to an INFORMIX-SE database.

Bug #106209

The ResultSet.getString() method does not fully support INTERVAL data types when the INTERVAL qualifier is not YEAR TO MONTH or DAY TO SECOND. For example, YEAR TO YEAR is not supported.

Bug #106344

Performing an uninstall in NT does not clean up the lib directory.

Bug #106348

When you uninstall Informix JDBC Driver in UNIX, the Delete/Confirm dialog box is not shown proportionately. It is shown as a vertical and narrow box.

Bug #106698

Several DatabaseMetaData methods return the wrong values. The supportsANSI92IntermediateSQL(), supportsANSI92FullSQL(), supportsOrderByUnrelated(), and supportsOpenCursorsAcrossCommit() methods should all return false. The usesLocalFilePerTable() and usesLocalFiles() methods should return true for an INFORMIX-SE server.

Bug #106750

The ClassGenerator utility does not generate the correct code for nested rows.

Bug #106904

If the ResultSet.afterLast() method returns ROWID 9, executing the ResultSet.previous() method should return ROWID 7. It should be ROWID 8.

Bug #106940

The ResultSet.isBeforeFirst() and isAfterLast() methods are not working correctly.

Bug #107011

An NT client and server both transport floating point values as decimals.

Bug #108780

The databasemetadata methods usesLocalFiles() and usesLocalFilePerTable() return true if you are using a 5.x online server. They should return false.

Bug #108526

The getCatalogs() method returns a null pointer exception for the databasemetadata class.

Bug #107932

If you call the databasemetadata getTables() method and provide a specific table or schema, the owner and name qualified by getTables() returns incorrect information.

Bug #105570

The message class that gives the full text of an error message, which is similar to the finderr utility, does not work for positive values such as +100.