Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 49332 invoked from network); 4 Jun 2010 12:25:23 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 4 Jun 2010 12:25:23 -0000 Received: (qmail 23352 invoked by uid 500); 4 Jun 2010 12:25:23 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 22850 invoked by uid 500); 4 Jun 2010 12:25:22 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 22332 invoked by uid 99); 4 Jun 2010 12:25:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 04 Jun 2010 12:25:22 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 04 Jun 2010 12:25:19 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o54COwVg012330 for ; Fri, 4 Jun 2010 12:24:58 GMT Message-ID: <9684148.181551275654298124.JavaMail.jira@thor> Date: Fri, 4 Jun 2010 08:24:58 -0400 (EDT) From: "Kristian Waagan (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Commented: (DERBY-4688) With Derby 10.6 and higher, selecting object columns from system tables ERROR XN020: Error marshalling or unmarshalling a user defined type In-Reply-To: <20513332.147321275522598056.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-4688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12875576#action_12875576 ] Kristian Waagan commented on DERBY-4688: ---------------------------------------- Including "server classes" in the client jar sounds like a delicate issue to me. At the very least we should investigate how these classes will be serialized, and maybe code the (de-)serialization logic ourselves (using Externalizable). It is not clear to me how much more flexibility Externalizable gives us over Serializable. To me it sounds acceptable if older client versions simply displays the information they know about, ignoring the rest. This would allow us to add new fields, but old/deprecated fields would have to be kept around (setting it to null, empty string, or another appropriate value). Also, what kind of functionality is required of these classes? Would basically toString be enough? > 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: releaseNote.html > > > 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.