db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5407) When run across the network, dblook produces unusable DDL for VARCHAR FOR BIT DATA columns.
Date Tue, 10 Jul 2012 17:42:35 GMT

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

Rick Hillegas commented on DERBY-5407:
--------------------------------------

Hi Mamta,

Thanks for looking at this issue. The column datatype is a TypeDescriptorImpl. My first suspicion
would be that this object is not serializing itself properly across the network. I think that
different logic is used to (de)serialize datatypes to the catalogs and into the byte arrays
which are sent across the network. The network serialization relies on the writeExternal()
and readExternal()  methods of java.io.Serializable. The metadata serialization is trickier.
If you want to pursue this theory, a next step would be to try (de)serializing a TypeDescriptorImpl
to a byte array. See for instance DDMWriter.writeUDT() and DRDAConnThread.readUDT(). Hope
this helps.
                
> When run across the network, dblook produces unusable DDL for VARCHAR FOR BIT DATA columns.
> -------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5407
>                 URL: https://issues.apache.org/jira/browse/DERBY-5407
>             Project: Derby
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 10.8.1.2
>            Reporter: Rick Hillegas
>            Assignee: Mamta A. Satoor
>              Labels: derby_triage10_9
>
> In private correspondence, Mani Afschar Yazdi reports that dblook omits the length specification
for VARCHAR FOR BIT DATA columns when run across the network. Embedded dblook runs fine. I
can reproduce this problem as follows:
> 1) Bring up a server (here I am using port 8246).
> 2) Create a database with the following ij script:
> connect 'jdbc:derby://localhost:8246/memory:db;create=true';
> create table t( a varchar( 20 ) for bit data );
> 3) Now run dblook across the network:
> java -org.apache.derby.tools.dblook -d "jdbc:derby://localhost:8246/memory:db"
> This produces the following DDL for the table:
> CREATE TABLE "APP"."T" ("A" VARCHAR () FOR BIT DATA);
> A similar experiment using an embedded database produces usable DDL which includes a
length specification for the VARCHAR FOR BIT DATA column.

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

        

Mime
View raw message