[ 
https://issues.apache.org/jira/browse/DERBY-4491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12856959#action_12856959
 ] 

Rick Hillegas commented on DERBY-4491:
--------------------------------------

I have re-run the compatibility tests using combinations of clients and servers 
at trunk and 10.5.3.0 levels. This should stress the change made by Kristian 
since a 10.5.3.0 server supports data caching but not UDTs. The compatibility 
tests passed cleanly in this combination.

I believe that the tests previously passed because the only check for 
serverSupportsUDT() occurs in NetStatementReply.parseSQLUDTGRP():

        if ( !(jdbcType == Types.JAVA_OBJECT) || 
!netAgent_.netConnection_.serverSupportsUDTs() )

This condition would have been satisified even if serverSupportsUDTs() returned 
the wrong value because if the server really wasn't at level 10.6, then 
jdbcType would be Types.LONGVARBINARY.

I suppose this means that we could remove the serverSupportsUDTs() method. 
However, I recommend keeping this redundant sanity check because:

a) it causes no problems

b) it flags the point in a code where we need to be UDT-aware


> The network client changes UDTs into Strings and returns their type as 
> LONGVARBINARY.
> -------------------------------------------------------------------------------------
>
>                 Key: DERBY-4491
>                 URL: https://issues.apache.org/jira/browse/DERBY-4491
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.0.2.0, 10.0.2.1, 10.1.1.0, 10.1.2.1, 10.1.3.1, 
> 10.2.1.6, 10.2.2.0, 10.3.1.4, 10.3.2.1, 10.3.3.0, 10.4.1.3, 10.4.2.0, 
> 10.5.1.1, 10.5.2.0, 10.5.3.0
>            Reporter: Rick Hillegas
>            Assignee: Rick Hillegas
>             Fix For: 10.6.0.0
>
>         Attachments: derby-4491-01-ab-networkTransport.diff, 
> derby-4491-01-ad-networkTransport.diff, derby-4491-02-aa-supportsUDTs.diff
>
>
> This is a pre-existing bug which seems to have been with Derby since the 
> beginning. Some of the columns in the system tables (e.g., 
> SYS.SYSALIASES.ALIASINFO) contain objects. If you select these columns:
> 1) In the embedded client you will get the correct results. You will get the 
> objects in these columns. In addition, the ResultSetMetaData for these 
> columns will correctly report that the columns have type JAVA_OBJECT and will 
> give a reasonable type name (the class name for the object in the column).
> 2) However, in the network client, you will get the wrong results. 
> ResultSet.getObject() will return Strings rather than the original objects. 
> In addition, the ResultSetMetaData for these columns will incorrectly report 
> that their type is LONGVARBINARY.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to