[ 
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

        

Reply via email to