Issue Details (XML | Word | Printable)

Key: DERBY-488
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Kathey Marsden
Reporter: Daniel John Debrunner
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Derby

DatabaseMetaData.getColumns() fails on iSeries JDK 1.4 with verfier error on generated class.

Created: 04/Aug/05 05:24 AM   Updated: 30/Sep/05 02:27 AM
Return to search
Component/s: SQL
Affects Version/s: 10.1.1.0
Fix Version/s: 10.0.2.2, 10.1.2.1, 10.2.1.6

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works patch488.txt 2005-08-04 05:26 AM Daniel John Debrunner 0.6 kB

Resolution Date: 30/Sep/05 02:27 AM


 Description  « Hide
Analysis shows that
----------------------------------------------------------------------
The problem is occurring starting at offset 2007 in method e23. There is an invokeinterface to method setWidth(int, int, boolean) of class VariableSizeDataValue. This invoke returns a value of class DataValueDescriptor. That value is in turn stored in field e142 at offset 2015 in method e23. The problem is that field e142 is a NumberDataValue, and DataValueDescriptor is not a valid subclass of NumberDataValue. Thus the store is not allowed.
----------------------------------------------------------------------

Looking at the generated setWidth() calls I see one in BinaryOperatorNode where the return (DataValueDescriptor) is not cast to the type of the field it is stored in.


 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Repository Revision Date User Message
ASF #227406 Thu Aug 04 14:20:25 UTC 2005 djd DERBY-488 Cast the return (DataValueDescriptor) from a generated call to setWidth to the type of the field
it was being stored in (sub-class of DataValueDescriptor, e.g. NumberDataValue). The previous incorrect
assignment worked and passed most verifiers but the 1.4.2 VM on IBM iSeries rejected the generated class.
Files Changed
MODIFY /db/derby/code/branches/10.1/java/engine/org/apache/derby/impl/sql/compile/BinaryOperatorNode.java

Repository Revision Date User Message
ASF #227518 Thu Aug 04 23:44:02 UTC 2005 djd DERBY-488 Merge fix 227406 from 10.1 branch. Cast return from generated setWidth call to type of field it will be stored in.
Files Changed
MODIFY /db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/BinaryOperatorNode.java

Repository Revision Date User Message
ASF #233308 Thu Aug 18 11:07:30 UTC 2005 kmarsden Backport of DERBY-488
DatabaseMetaData.getColumns() fails on iSeries JDK 1.4 with verfier error on generated class.
contributed by Daniel Debrunner
Files Changed
MODIFY /db/derby/code/branches/10.0/java/engine/org/apache/derby/impl/sql/compile/BinaryOperatorNode.java