Login Register Actian.com  

Actian Community Wiki

Navigation
Learn About
Developing With
Ingres Talk
Information
Toolbox

Java Development Center/Java Learn/JDBC Driver Feature Availability

From Ingres Community Wiki

Jump to: navigation, search

Contents

Ingres/Vectorwise JDBC Driver Feature Availability

The Ingres/Vectorwise JDBC Driver continues to move forward with Java specific features and exploitation of features added to the Ingres and Vectorwise DBMSs. This document attempts to detail what became available when.

JDBC Driver Versions

The following table provides the list of Ingres/Vectorwsie JDBC driver (iijdbc.jar) versions. Additional information about the driver can be found in the Ingres Connectivity Guide for the corresponding Ingres/Vectorwise DBMS version.

Driver Version Driver Type JDBC API Supported Ingres DBMS Version Released With Minimum Required JRE Version Status
4.1.x Type 4* 1.0, 2.0, 3.0, 4.0, and 4.1 Vectorwise 3.0 JRE 1.6 Recommended
4.0.x Type 4* 1.0, 2.0, 3.0, and 4.0 Ingres 10.0/10S, Vectorwise 2.5.x JRE 1.6 Recommended
3.8.x Type 4* 1.0, 2.0, and 3.0 Ingres 9.3.x JRE 1.5 Recommended
3.4.x Type 4* 1.0, 2.0, and 3.0 Ingres 2006r3 / Ingres 9.2.x JRE 1.5 Recommended
3.2.x Type 4* 1.0, 2.0, and 3.0 Ingres 2006r2 / Ingres 9.1.x JRE 1.4 Released
* When used in conjunction with EDBC or Enterprise Access, the JDBC Driver is a Type 3 Driver.

GA versions of the Ingres/Vectorwise JDBC Driver can be downloaded at http://esd.actian.com/product/drivers/JDBC/java.

Community Preview (pre-GA) versions of the Ingres JDBC Driver can be downloaded at http://esd.actian.com/product/Community_Projects/Drivers/java.


Features Available in Ingres/Vectorwise JDBC 4.1.x Driver

The following feature(s) became available with the Ingres/Vectorwise JDBC 4.1.x Driver:

Feature JDBC Driver Version Requires Updated DAS, Minimum DAS Version Requires Updated DBMS Version, Minimum DBMS Version Status More Information
Support for ipv4 and ipv6 data types 4.1.1 Yes, Vectorwise 3.0 Yes, Vectorwise 3.0 minimum patch 33402 GA None
Java 7 Support 4.1.0 No No GA Project Page
Java Logging Support 4.1.0 No No GA Project Page


Features Available in Ingres/Vectorwise JDBC 4.0.x Driver

The following feature(s) became available with the Ingres/Vectorwise JDBC 4.0.x Driver:

Feature Ingres/Vectorwise JDBC Driver Version Requires Updated DAS, Minimum DAS Version Requires Updated DBMS Version, Minimum DBMS Version Status More Information
Line-Oriented Comment Support 4.0.9 No No GA, beginning with 4.0.9 released with 10.1 on Windows/Unix, available as a patch for Linux Project Page
JDBC Support of Common Table Expressions (CTEs) 4.0.8 No Yes, 10S GA, beginning with 4.0.8 released with 10.1 on Linux None
JDBC Identity Column Support as Generated Keys 4.0.7 No No GA, beginning with 4.0.7 released as a patch to 10.0 Project Page
Provide streaming LOB data access via locators in JDBC 4.0.6 No No GA, beginning with 4.0.6 released with 10.0 LOB locator access for methods getBinaryStream() and getCharacterStream() use individual substring() selects to retrieve sequential blocks of the LOB data. This allows other operations to be done during LOB retrieval, but results in lower performance than getting all the data in one request. Since it is unlikely that real applications will issue requests while retrieving LOB data, this change enables streaming access for LOB data. A configuration property is added which permits the original behavior to be enabled if an application has problems with the new functionality. The new property is jdbc.ingres.lob.locators.stream.enabled. The default is 'true', which enables streaming LOB data. The property may be set to 'false' to disable streaming which results in the original segmented behavior.
Change JDBC DATE_ALIAS default to ANSIDATE 4.0.6 No No GA, beginning with 4.0.6 released with 10.0 None
Support Positional Parameters 4.0.2 Yes, 10 b122 and later Yes, 10 b122 and later GA, beginning with 4.0.6 released with 10.0 Project Page
Boolean Data Type Support 4.0.1 Yes, 10 Yes, 10 GA, beginning with 4.0.6 released with 10.0 Project Page
Batch Execution Support 4.0.1 Yes, 10 b121 and later Yes, 10 b121 and later GA, beginning with 4.0.6 released with 10.0 Project Page
Automatic loading of java.sql.Driver 4.0.0 No No GA, beginning with 4.0.6 released with 10.0 Project Page
National Character Set Conversion Support 4.0.0 No No GA, beginning with 4.0.6 released with 10.0 Project Page
Enhances Support for BLOB and CLOB 4.0.0 No No GA, beginning with 4.0.6 released with 10.0 Project Page
Wrapper pattern 4.0.0 No No GA, beginning with 4.0.6 released with 10.0 Project Page
New Scalar Functions 4.0.0 No No GA, beginning with 4.0.6released with 10.0 Project Page
SQLException enhancements 4.0.0 No No GA, beginning with 4.0.6 released with 10.0 Project Page
JDBC API changes to existing JDBC interfaces 4.0.0 No No GA, beginning with 4.0.6 released with 10.0 Project Page
SQL/XML and XML support 4.0.0 No No GA, beginning with 4.0.6 released with 10.0 Project Page
Connection Management 4.0.0 No No GA, beginning with 4.0.6 released with 10.0 Project Page


Features Available in Ingres JDBC 3.8.x Driver

The following feature(s) became available with the Ingres JDBC 3.8.x Driver:

Feature Introduced in Ingres JDBC Driver Version Requires Updated DAS, Minimum DAS Version Requires Updated Ingres DBMS Version, Minimum DBMS Version Status More Information
Ingres JDBC Config Utility 3.8.0 No No GA Project Page
Multiple Data Access Server (DAS) Support 3.8.0 Yes, 9.3 No GA Project Page


Features Available in Ingres JDBC 3.4.x Driver

The following feature(s) became available with the Ingres JDBC 3.4.x Driver:

Feature Introduced in Ingres JDBC Driver Version Requires Updated DAS, Minimum DAS Version Requires Updated Ingres DBMS Version, Minimum DBMS Version Status More Information
Enhanced LOB Support with Lob Locator Support 3.4.0 Yes, 9.2 (2006r3) Yes, 9.2 (2006r3) GA Project Page
Enhanced Cursor Support 3.4.0 Yes, 9.2 (2006r3) Yes, 9.2 (2006r3) GA Project Page
Increased Decimal Length Support 3.4.0 Yes, 9.2 (2006r3) Yes, 9.2 (2006r3) GA Ingres support for the DECIMAL type will change so that the maximum precision will be 39 digits instead of 31.
JDBC supports a replacement value for empty date values such as NULL or a specific date/time value 3.4.0 No No GA


Features Available in Ingres JDBC 3.2.x Driver

The following feature(s) became available with the Ingres JDBC 3.2.x Driver:

Feature Introduced in Ingres JDBC Driver Version Requires Updated DAS, Minimum DAS Version Requires Updated Ingres DBMS Version, Minimum DBMS Version Status More Information
Change JDBC Driver default cursor mode to READONLY 3.2 No No GA The original behavior can be selected using the URL attribute 'CURSOR=DBMS' or setting the property 'ingres.jdbc.property.cursor_mode=readonly' in the driver property file.
DBMS Trace mesages are now available to Data Access Server Clients. JDBC driver logs DBMS trace messages to the driver trace log. 3.2 No No GA None
Support for ANSI Date/Time data types 3.2 Yes, 9.1 (2006r2) Yes, 9.1 (2006r2) GA Project Page
Extend XA Support for JDBC 3.2 Yes, 9.1 (2006r2) Yes, 9.1 (2006r2) GA Project Page
Ingres JDBC Parameter Meta-Data Support (Implement the DESCRIBE INPUT Command) 3.2 Yes, 9.1 (2006r2) Yes, 9.1 (2006r2) GA Project Page
Add support for the explicit declaration of parameter modes (IN, INOUT, OUT) 3.2 Yes, 9.1 (2006r2) Yes, 9.1 (2006r2) GA None
Improve IPv6 Support for JDBC 3.2 Yes, 9.1 (2006r2) Yes, 9.1 (2006r2) GA Project Page


Features Available in JDBC Driver 3.0.x

Support for the JDBC 3.0 API includes three components: an installation server (DAS), a Java client driver (iijdbc.jar), and an information utility (Jdbcinfo). For more information, see the Connectivity Guide.

With this release a new JDBC Driver was distributed, iijdbc.jar that will be the basis of future JDBC enhancements. The older edbc.jar is still provided for backward compatability but no future enhancements will be applied to the edbc.jar driver.

Feature More Information
Data Access Server Project Page
JDBC Information Utility The JdbcInfo utility displays the Ingres JDBC Driver internal release information. The class files for the JdbcInfo utility are located in the library directory (lib) of the Ingres installation.
Updatable Result Sets in JDBC Project Page
Savepoints Project Page
Named procedure parameters Project Page
Auto-generated keys Project Page
Connection Pool Configuration Project Page
Boolean data type (similar to Bit) Project Page


Ingres JDBC Driver Bugs Resolved Availability

The Ingres JDBC Driver is updated regularly to address bugs reported via Service Desk or from the Community.

Bugs Addressed in Ingres JDBC 4.0.x Driver

The following bug(s) have been fixed with the Ingres JDBC 4.0.x Driver:

Bug Fixed Introduced in Ingres JDBC Driver Version Requires Updated DAS, Minimum DAS Version Requires Updated Ingres DBMS Version, Minimum DBMS Version Status More Information
SIR 125042: Support identity columns in JDBC as generated keys.

Prior to this enhancement, only generated table and object keys from tables containing a system maintained column were returned to JDBC function getGeneratedKeys(). Identity column updates are now also returned, but only under the following conditions:

  1. No table or object keys were updated by the query.
  2. Application has requested generated keys to be returned (for example, using Statement.RETURN_GENERATED_KEYS parameter on prepareStatement() ).
  3. Ingres server must be release 10 or later.

[**WARNING**]: The Ingres SQL function last_identity() is used to obtain the generated identity value and it returns the last generated identity value for ANY SQL statement. Hence, the identity value returned will be incorrect if the current SQL insert statement did not automatically generate an identity value.

A connection property, identity_query, has been added which permits the identity query to be enabled/disabled. There is a corresponding connection attribute: IDENTITY. The valid configuration settings are as follows:

off - Identity query will not be issued and identity values won't be returned.

on - Identity query will be issued if no table/object key is received and other conditions permit.

The default setting is 'on', which provides the best behavior for applications which use only table/object keys or only identity columns. If only table or object keys are used, the property can be set 'off' to ensure that the identity query is never issued. The identity query can be disabled by adding the connection attribute IDENTITY=off to the connection string, or adding the property ingres.jdbc.property.identity_query=off to a driver properties file.

4.0.7 No No GA For more detailed information, see: JDBC Identity Column Support As Generated Keys.
Bug 124588: Add ability to store blank date in the DBMS. [**WARNING**]: The "Date/Time Columns and Values" topic of "JDBC Implementation Considerations" section of Ingres Connectivity Guide that can be referenced at http://docs.ingres.com/ingres/10.0/connectivity-guide/1324-understanding-jdbc-connectivity discusses in detail about the JDBC Driver support for Ingres empty dates. This enhancement allows the driver to store the empty date back in the DBMS. The unavoidable side effect of this change is that when the driver is configured to return "null" alternate value for Ingres empty date indicating the driver to treat empty dates as null values, then while storing the empty date back in the DBMS the actual null value will get replaced by empty date. Hence the "null" alternate value for Ingres empty date is NOT RECOMMENDED. 4.0.6 No No GA None
Bug 124712: DAS aborts client connections with SQLException: "Server aborted connection" for BigDecimal query parameter values specified in scientific notation. 4.0.6 No No GA None
Bug 124716: JDBC driver does not correctly return UTF8 Clob data when accessed via a locator. 4.0.6 No No GA None
Bug 124722: Change JDBC DATE_ALIAS default to ANSIDATE. 4.0.6 No No GA None
SIR 124734: Provide streaming LOB data access via locators in JDBC 4.0.6 No No GA None

Bugs Addressed in Ingres JDBC 3.8.x Driver

The following bug(s) have been fixed with the Ingres JDBC 3.8.x Driver:

Bug Fixed Introduced in Ingres JDBC Driver Version Requires Updated DAS, Minimum DAS Version Requires Updated Ingres DBMS Version, Minimum DBMS Version Status More Information
Bug 124588: Add ability to store blank date in the DBMS. [**WARNING**]: The "Date/Time Columns and Values" topic of "JDBC Implementation Considerations" section of Ingres Connectivity Guide that can be referenced at http://docs.ingres.com/ingres/9.3/connectivity-guide/1324-understanding-jdbc-connectivity discusses in detail about the JDBC Driver support for Ingres empty dates. This enhancement allows the driver to store the empty date back in the DBMS. The unavoidable side effect of this change is that when the driver is configured to return "null" alternate value for Ingres empty date indicating the driver to treat empty dates as null values, then while storing the empty date back in the DBMS the actual null value will get replaced by empty date. Hence the "null" alternate value for Ingres empty date is NOT RECOMMENDED. 3.8.3 No No GA None
Bug 124712: DAS aborts client connections with SQLException: "Server aborted connection" for BigDecimal query parameter values specified in scientific notation. 3.8.3 No No GA None
Bug 124716: JDBC driver does not correctly return UTF8 Clob data when accessed via a locator. 3.8.3 No No GA None
Bug 124722: Change JDBC DATE_ALIAS default to ANSIDATE. 3.8.3 No No GA None
SIR 124734: Provide streaming LOB data access via locators in JDBC 3.8.3 No No GA None
Bug 123277: Added JDBC connection property "send_ingres_dates". Default value is 'false'. A value of 'true' will notify the driver to send the date/time/timestamp values as of type INGRESDATE instead of ANSI TIMESTAMP WITH TIMEZONE datatype. 3.8.2 No No GA None
Bug 123158: The Ingres JDBC driver throws java.lang.IllegalAccessError when invoking JDBC interface methods using reflection. 3.8.2 No No GA None
Bug 122977: The Ingres JDBC driver throws java.lang.IllegalAccessError when a Java Spring Bean application running in Weblogic Server invokes the JDBC PreparedStatement method getWarnings(). 3.8.1 No No GA None
Bug 122036: JDBC driver supports multiple host/port connection targets similar to vnodes. 3.8.0 Yes, 9.3 No GA None
Bug 121965: Inserting data using setObject( byte[] ) with trailing nulls into a long byte column results in trimming of trailing nulls. 3.8.0 No No GA None

Bugs Addressed in Ingres JDBC 3.4.x Driver

The following bug(s) have been fixed with the Ingres JDBC 3.4.x Driver:

Bug Fixed Introduced in Ingres JDBC Driver Version Requires Updated DAS, Minimum DAS Version Requires Updated Ingres DBMS Version, Minimum DBMS Version Status More Information
Bug 124588: Add ability to store blank date in the DBMS. [**WARNING**]: The "Date/Time Columns and Values" topic of "JDBC Implementation Considerations" section of Ingres Connectivity Guide that can be referenced at http://docs.ingres.com/ingres/9.2/ingres-92-connectivity-guide/1324-understanding-jdbc-connectivity discusses in detail about the JDBC Driver support for Ingres empty dates. This enhancement allows the driver to store the empty date back in the DBMS. The unavoidable side effect of this change is that when the driver is configured to return "null" alternate value for Ingres empty date indicating the driver to treat empty dates as null values, then while storing the empty date back in the DBMS the actual null value will get replaced by empty date. Hence the "null" alternate value for Ingres empty date is NOT RECOMMENDED. 3.4.11 No No GA None
Bug 124712: DAS aborts client connections with SQLException: "Server aborted connection" for BigDecimal query parameter values specified in scientific notation. 3.4.11 No No GA None
Bug 124716: JDBC driver does not correctly return UTF8 Clob data when accessed via a locator. 3.4.11 No No GA None
Bug 124722: Change JDBC DATE_ALIAS default to ANSIDATE. 3.4.11 No No GA None
SIR 124734: Provide streaming LOB data access via locators in JDBC 3.4.11 No No GA None
Bug 123158: The Ingres JDBC driver throws java.lang.IllegalAccessError when invoking JDBC interface methods using reflection. 3.4.10 No No GA None
Bug 123277: Added JDBC connection property "send_ingres_dates". Default value is 'false'. A value of 'true' will notify the driver to send the date/time/timestamp values as of type INGRESDATE instead of ANSI TIMESTAMP WITH TIMEZONE datatype. 3.4.10 No No GA Project Page
Bug 122977: The Ingres JDBC driver throws java.lang.IllegalAccessError when a Java Spring Bean application running in Weblogic Server invokes the JDBC PreparedStatement method getWarnings(). 3.4.9 No No GA None
Bug 121865: JDBC Driver issues metadata queries using LIKE clause even if there are no pattern matching characters present in the input database object names. 3.4.8 No No GA None
Bug 121965: Inserting data using setObject( byte[] ) with trailing nulls into a long byte column results in trimming of trailing nulls. 3.4.8 No No GA None
Bug 119919: DatabaseMetaData.getColumns() returns 0 for column_length and decimal_digits fields of the ResultSet for MONEY column type. 3.4.1 No No GA None
Bug 121745: Add JDBC driver configuration setting, ingres.jdbc.scroll.enabled, to enable/disable scrollable cursors. Default is enabled. 3.4.7 No No GA None
Bug 121672: JDBC Driver produces DataTruncation warning when retrieving an ingresdate date-only value using ResultSet.getDate() method. 3.4.7 No No GA None
Bug 121789: Cannot insert a NULL value into a long varchar column in a unicode enabled database using JDBC PreparedStatement interface method setNULL(idx,Types.CLOB). 3.4.7 No No GA None
Bug 121538: Findbugs utility reports a number of issues with JDBC driver source code. 3.4.6 No No GA None
Bug 121423: JDBC driver does not allow ResultSet.getBytes() to be called on character columns. This is not required by the JDBC specification, but provides compatibility with other JDBC drivers. 3.4.5 No No GA None
Bug 121437: JDBC driver in heavy multi-threaded environment has a high degree of overhead handling date/time values due to synchronization on the date formatter objects. 3.4.5 No No GA None
Bug 121427: JDBC driver tracing overhead is excessive due to frequent DriverManager tracing status checks. 3.4.5 No No GA None
Bug 121345: JDBC driver does not include escape clause in LIKE predicate used for pattern matches in DatabaseMetaData system catalog queries. DatabaseMetaData method getSearchStringEscape() indicates that the backslash ('\') should be used to escape matching characters but is treated as a literal character rather than escaping the interpretation of the following character. 3.4.4 No No GA None
Bug 117537: Other DBMSs support decimal data type precisions greater than Ingres. Ingres should support an increased decimal precision. 3.4.3 No No GA None
Bug 120439: DatabaseMetaData.getTypeInfo() returns incorrect String value 'precision' for CREATE_PARAMS attribute for DOUBLE PRECISION datatype causing 'create table' statement failures using this datatype in open Office. 3.4.2 No No GA None
Bug 120463: DatabaseMetaData.getTypeInfo() returns incorrect maximum length for char, varchar, byte, and varbyte datatypes. 3.4.2 No No GA None
Bug 119928: Use generic term 'LOB' in error messages instead of BLOB/CLOB. 3.4.1 No No GA None

Bugs Addressed in Ingres JDBC 3.2.x Driver

The following bug(s) have been fixed with the Ingres JDBC 3.2.x Driver:

Feature/Bug Introduced in Ingres JDBC Driver Version Requires Updated DAS, Minimum DAS Version Requires Updated Ingres DBMS Version, Minimum DBMS Version Status More Information
Bug 121672: JDBC Driver produces DataTruncation warning when retrieving an ingresdate date-only value using ResultSet.getDate() method. 3.2.5 No No GA None
Bug 121865: JDBC Driver issues metadata queries using LIKE clause even if there are no pattern matching characters present in the input database object names. 3.2.5 No No GA None
Bug 121965: Inserting data using setObject( byte[] ) with trailing nulls into a long byte column results in trimming of trailing nulls. 3.2.5 No No GA None
Bug 121423: JDBC driver does not allow ResultSet.getBytes() to be called on character columns. This is not required by the JDBC specification, but provides compatibility with other JDBC drivers. 3.2.4 No No GA None
Bug 121437: JDBC driver in heavy multi-threaded environment has a high degree of overhead handling date/time values due to synchronization on the date formatter objects. 3.2.4 No No GA None
Bug 121345: JDBC driver does not include escape clause in LIKE predicate used for pattern matches in DatabaseMetaData system catalog queries. DatabaseMetaData method getSearchStringEscape() indicates that the backslash ('\') should be used to escape matching characters but is treated as a literal character rather than escaping the interpretation of the following character. 3.2.3 No No GA None
Bug 120439: DatabaseMetaData.getTypeInfo() returns incorrect String value 'precision' for CREATE_PARAMS attribute for DOUBLE PRECISION datatype causing 'create table' statement failures using this datatype in open Office. 3.2.2 No No GA None
Bug 120463: DatabaseMetaData.getTypeInfo() returns incorrect maximum length for char, varchar, byte, and varbyte datatypes. 3.2.2 No No GA None
Bug 119917: Add JDBC driver versioning for patch builds. The driver version is reported as 3.2.1 to indicate that fix for bug 119919 is included. 3.2.1 No No GA None
Bug 119919: DatabaseMetaData.getColumns() returns 0 for column_length and decimal_digits fields of the ResultSet for MONEY column type. 3.2.1 No No GA None
Bug 119928: Use generic term 'LOB' in error messages instead of BLOB/CLOB. 3.2.1 No No GA None
Bug 111769: JDBC server aborts the client connection when an invalid Timestamp value is provided by the client. 3.2 No No GA None
Bug 114211: JDBC driver returns incorrect procedure column order when using method getProcedureColumns(). 3.2 No No GA None
Bug 118271: The modifier of DatabaseMetaData class of Ingres JDBC driver is made public to work with JdbcTemplate package of Spring, an opensource Java/J2EE application framework. 3.2 No No GA None
Personal tools
© 2011 Actian Corporation. All Rights Reserved