You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Lily Wei (JIRA)" <ji...@apache.org> on 2010/08/19 18:46:18 UTC

[jira] Updated: (DERBY-4688) With Derby 10.6 and higher, selecting object columns from system tables ERROR XN020: Error marshalling or unmarshalling a user defined type

     [ https://issues.apache.org/jira/browse/DERBY-4688?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lily Wei updated DERBY-4688:
----------------------------

    Attachment: derby-4688_diff_try1.txt

Thanks to Kathey who gave me the idea of how to do this task. I am still not get the hang of it in turn of how to only load derbyclient.jar and make the test case for this JIRA. Also, the final goal to have all test run with derbyclient.jar only. I am posting this patch to get more help and I will keep working on it. 

> With Derby 10.6 and higher, selecting object columns from system tables ERROR XN020: Error marshalling or unmarshalling a user defined type
> -------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4688
>                 URL: https://issues.apache.org/jira/browse/DERBY-4688
>             Project: Derby
>          Issue Type: Task
>          Components: Network Client
>    Affects Versions: 10.7.0.0
>            Reporter: Kathey Marsden
>            Priority: Minor
>         Attachments: derby-4688_diff_try1.txt, releaseNote.html, ReproDerby4688.java
>
>
> If derby.jar is not in the classpath when a client selects an object from a system table, for example selecting ALIASINFO from SYS.SYSALIASES an error will result, eg.
> ERROR XN020: Error marshalling or unmarshalling a user defined type: org.apache.
> derby.catalog.types.RoutineAliasInfo
> To reproduce, put only derbyclient.jar and derbytools.jar  in your classpath and connect to a running server and run:
> ij> connect 'jdbc:derby://localhost:1527/wombat;create=trrue';
> ij> select * from sys.sysaliases
> > > ;
> ALIASID                             |ALIAS
>      |SCHEMAID                            |JAVACLASSNAME
>            |&|&|SYST&|ALIASINFO      |SPECIFICNAME
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> --------------------------------------------------------------------------------
> ------
> ERROR XN020: Error marshalling or unmarshalling a user defined type: org.apache.
> derby.catalog.types.RoutineAliasInfo
> ij>
> With the 10.5 client it gives the text of the procedure or function definition for ALIASINFO  may have been useful to someone, e.g.
> SQLCAMESSAGE(IN SQLCODE INTEGER,IN SQLERRML SMALLINT,IN SQLERRMC VARCHAR(2400),I
> N SQLERRP CHAR(8),IN SQLERRD0 INTEGER,IN SQLERR&
> I am not sure what can or should be done about this issue.  Workaround include:
> -  Cast the value to LONG VARCHAR in the query.
> -  Put  the server jars in the classpath if you want to use the objects.
> - Remove extraneous columns if they are not used.
> I am not sure what can or should be done about this issue, but a release note would at least help mitigate it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.