When a query result (insert/update/delete) returns a value larger than the max value of an INT data type, the following message is output in the Text tab:
>[Error] Script lines: 175-209 ----------------------
The update count exceeded Integer.MAX_VALUE.
I often experience this on our data warehouse while running queries like this:
INSERT into TABLE (col1) SELECT col1 from TABLE2
The queries do complete successfully, so this could probably be considered a cosmetic issue only.
@rdbobak: Most likely, the error message you are seeing is returned from the driver and potentially your insert/update/delete are executing a large number of rows into the table named TABLE. If the number of records affected is more than the max value of INT (depending on the RDBMS server, the value can be 231 = 2147483648 ) then the server will return this warning.
Could you please provide the following information to help us look into the issue:
Database is (IBM PureData) Netezza running 7.2.1.1. My JDBC driver should also be the same version. However ADS just says it is "7.2"
I'll email the Support Info.
The logs don't contain any info on this in particular.
Database is (IBM PureData) Netezza running 7.2.1.1. My JDBC driver should also be the same version. However ADS just says it is "7.2"
I'll email the Support Info.
The logs don't contain any info on this in particular.
The Update Count is retrieved with the JDBC API method :
https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#getUpdateCount()
Which returns an INT. Here is a Q&A on this specific scenario :
http://stackoverflow.com/questions/33780120/what-happens-when-the-number-of-updated-rows-exceeds-231
ADS 17.0 is compiled with Java 1.7. ADS 18.0 is compiled with Java 1.8. In ADS 18.0 we will be able to call the new API method :
https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html#getLargeUpdateCount--
But, this method will also only work if the JDBC driver is an updated driver that has this new method implemented.
Until this, this error message is coming from the JDBC driver.
The Update Count is retrieved with the JDBC API method :
https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#getUpdateCount()
Which returns an INT. Here is a Q&A on this specific scenario :
http://stackoverflow.com/questions/33780120/what-happens-when-the-number-of-updated-rows-exceeds-231
ADS 17.0 is compiled with Java 1.7. ADS 18.0 is compiled with Java 1.8. In ADS 18.0 we will be able to call the new API method :
https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html#getLargeUpdateCount--
But, this method will also only work if the JDBC driver is an updated driver that has this new method implemented.
Until this, this error message is coming from the JDBC driver.
Will move this issue to 18.0 for our current development process.
Will move this issue to 18.0 for our current development process.
@tom: next step for this issue is to compile a list of JDBC that do support the getLargeUpdateCount()
method
@tom: next step for this issue is to compile a list of JDBC that do support the getLargeUpdateCount()
method
This is now supported in ADS v18, but it also requires the driver to support Statement.getLargeUpdateCount() which is part of the JDBC API 4.2 available in Java 1.8 and above.
Netezza current doesn't support this API for their driver version 7.2.1 :
This is now supported in ADS v18, but it also requires the driver to support Statement.getLargeUpdateCount() which is part of the JDBC API 4.2 available in Java 1.8 and above.
Netezza current doesn't support this API for their driver version 7.2.1 :
Issue #14482 |
Closed |
Fixed |
Resolved |
Completion |
No due date |
Fixed Build ADS 18.0.0-preview-80 |
No time estimate |
3 issue links |
relates to #15089
Issue #15089Oracle JDBC driver - upgrade to use getLargeUpdateCount. |
relates to #15084
Issue #15084Microsoft JDBC driver - upgrade to use getLargeUpdateCount. |
relates to #15087
Issue #15087DB2 ISeries JDBC driver - upgrade to use getLargeUpdateCount. |
@rdbobak: Most likely, the error message you are seeing is returned from the driver and potentially your insert/update/delete are executing a large number of rows into the table named TABLE. If the number of records affected is more than the max value of INT (depending on the RDBMS server, the value can be 231 = 2147483648 ) then the server will return this warning.
Could you please provide the following information to help us look into the issue: