db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James F. Adams (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2605) You can create BOOLEAN columns in 10.3
Date Tue, 15 May 2007 03:41:16 GMT

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

James F. Adams commented on DERBY-2605:
---------------------------------------

A B,

I think I prefer your approach.  I am updating my patch.

I have however found a couple of interesting things with the precision/scale/maximum width
check.

1) Given table foo (x double precision), the check fails for:  create table bar(y) as select
2.0 * x from foo with no data
     because dtd.getScale() returns 1 and typeId.getMaximumScale() returns 0.  The datat ype
of column y is double precision.

2) The check fails for:   create table bar as select javaclassname from sys.sysaliases with
no data
    because dtd.getMaximumWidth() returns 2147483647 and typeId.getMaximumMaximumWidth() returns
32700.
    The data type of javaclassname is LONG VARCHAR.  I would expect the maximum length to
be 32700.  Integer.MAX_VALUE is specified
    as the maximum length of this column in SYSALIASESRowFactory.java.  I do not know if this
is a bug or was intentional but the resulting
    maximum length certainly exceeds the documented value for a LONG VARCHAR.

I am doing some more investigation.  I should be able to upload an updated patch in a couple
of days.

> You can create BOOLEAN columns in 10.3
> --------------------------------------
>
>                 Key: DERBY-2605
>                 URL: https://issues.apache.org/jira/browse/DERBY-2605
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.3.0.0
>            Reporter: Rick Hillegas
>         Assigned To: James F. Adams
>         Attachments: d2605_inc_v1.patch, d2605_v1.patch, d2605_v1.stat
>
>
> The work on DERBY-64 seems to have opened up a wormhole by which you can create user
tables with BOOLEAN columns. The following script shows how to do this:
> drop table foo;
> create table foo
> as select systemalias from sys.sysaliases with no data;
> rename column foo.systemalias to boolcol;
> alter table foo
>   alter column boolcol null;
> select c.columndatatype
> from sys.syscolumns c, sys.systables t
> where t.tableid=c.referenceid
> and t.tablename='FOO';
> insert into foo( boolcol )
> values
> ( 0 ),
> ( 1 ),
> ( cast (null as int) )
> ;
> select * from foo;

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


Mime
View raw message