Subject | Re: [Firebird-Java] Regression from 2.1.6 |
---|---|
Author | Mark Rotteveel |
Post date | 2012-07-19T07:31:44Z |
On Wed, 18 Jul 2012 22:56:17 -0000, "Fabiano"
<fabiano@...>
wrote:
http://tracker.firebirdsql.org/browse/JDBC-162 ) to comply with the JDBC
specification. The getColumnName() is intended to retrieve the original
column name (if any), getColumnLabel to retrieve the actual name in the
resultset.
It is explicitly documented in the releasenotes (sections 'Other fixes and
changes' and 'Compatibility with com.sun.rowset.*'). The reference
implementation of com.sun.rowset.CachedRowSetImpl is itself broken as it
doesn't follow the JDBC specification (see
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7046875 ). For example
the MySQL Connector/J driver behaves the same as Jaybird 2.2
(http://bugs.mysql.com/bug.php?id=49516 )
You and I discussed this in November/December and then you agreed it would
be better to keep the new implementation, as the workaround is to override
the CachedRowSetImpl implementation by subclassing it (see my comment
quoting your e-mail in
http://tracker.firebirdsql.org/browse/JDBC-162?focusedCommentId=24578&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_24578
).
Mark
<fabiano@...>
wrote:
> Hi all!across
>
> I reported this bug some months ago, but jaybird 2.2.0 was released
> without solving it.
> It is a showstopper for everybody who uses CachedRowSet, like me :-(
>
> The result of resultSet.getMetaData.getColumnName() is inconsistent
> jaybird 2.1.6 and 2.2.0, and default Java CachedRowSetImpl rely on thiswhen
> method to assign the names of CachedRowSet columns, leading to errors
> in use with JayBird 2.2.0....
>
> Tested with Java 7 update 5.
> CachedRowSetImpl is part of Java 7 distribution.
> If you use Eclipse, maybe you should turn off compile warning/erros for
> "Forbidden reference (access rules)" for this code to compile.
>
>This change was intentional (see
> Is there some possibility to solve this bug ASAP? Maybe on the developer
> branch? I can try it in production if needed.
>
> Please also add some tests for this issue.
http://tracker.firebirdsql.org/browse/JDBC-162 ) to comply with the JDBC
specification. The getColumnName() is intended to retrieve the original
column name (if any), getColumnLabel to retrieve the actual name in the
resultset.
It is explicitly documented in the releasenotes (sections 'Other fixes and
changes' and 'Compatibility with com.sun.rowset.*'). The reference
implementation of com.sun.rowset.CachedRowSetImpl is itself broken as it
doesn't follow the JDBC specification (see
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7046875 ). For example
the MySQL Connector/J driver behaves the same as Jaybird 2.2
(http://bugs.mysql.com/bug.php?id=49516 )
You and I discussed this in November/December and then you agreed it would
be better to keep the new implementation, as the workaround is to override
the CachedRowSetImpl implementation by subclassing it (see my comment
quoting your e-mail in
http://tracker.firebirdsql.org/browse/JDBC-162?focusedCommentId=24578&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_24578
).
Mark