[
https://issues.apache.org/jira/browse/DERBY-3341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel John Debrunner updated DERBY-3341:
-----------------------------------------
Attachment: derby_3341_test.txt
Quick hacked up modification to TableFunctionTest that shows the problem.
Note the change from
- else { assertTrue( expectedValue.equals( actualValue ) ); }
+ else { assertEquals(expectedValue, actualValue); }
This results in the values being displayed if the test fails and there is more
useful and clearer than explicitly performing the equals().
The test itself is actually a little hard to get into, it doesn't follow the
established JUnit pattern of having fixtures being with test so it's hard to
see where the fixtures are. It also seems to duplicate existing utility methods
such as testing the contents of result sets and dropping a schema.
> TABLE FUNCTION returning CHAR values does not return a correct value if the
> Java ResultSet class returns a value less than the length of the defined CHAR.
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-3341
> URL: https://issues.apache.org/jira/browse/DERBY-3341
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Reporter: Daniel John Debrunner
> Fix For: 10.4.0.0
>
> Attachments: derby_3341_test.txt
>
>
> Defining a column in the returned type as CHAR(10) requires that the returned
> value be of length 10 characters.
> Defining a table function with a return type of:
> returns TABLE column0 char( 10 ), column1 char( 10 ))
> seems to just return whatever the Java ResultSet implementation handed it.
> My guess this is true for all variable length types, no casting of the value
> occurs when it is returned to the SQL domain.
> Java single value functions and procedure out parameters do perform any
> required casting to ensure the value is of the declared type.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.