You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Daniel Barclay (Drill) (JIRA)" <ji...@apache.org> on 2015/04/10 03:30:12 UTC

[jira] [Commented] (DRILL-2459) INFO._SCHEMA's CHARACTER_MAXIMUM_LENGTH is -1 for type CHAR

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

Daniel Barclay (Drill) commented on DRILL-2459:
-----------------------------------------------

Note:  I already have draft code for a number of problems in INFORMATION_SCHEMA.COLUMNS.

  (Maybe I should finish that and address this problem.)



> INFO._SCHEMA's CHARACTER_MAXIMUM_LENGTH is -1 for type CHAR
> -----------------------------------------------------------
>
>                 Key: DRILL-2459
>                 URL: https://issues.apache.org/jira/browse/DRILL-2459
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Metadata
>            Reporter: Daniel Barclay (Drill)
>            Assignee: Daniel Barclay (Drill)
>             Fix For: 1.0.0
>
>
> INFORMATION_SCHEMA.COLUMNS.CHARACTER_MAXIMUM_LENGTH does not report the length for type CHAR.  For example, for type descriptor "CHAR(4)", it doesn't return 4.  Instead, it returns -1:
> 0: jdbc:drill:zk=local> USE dfs.tmp;
> +------------+------------+
> |     ok     |  summary   |
> +------------+------------+
> | true       | Default schema changed to 'dfs.tmp' |
> +------------+------------+
> 1 row selected (0.05 seconds)
> 0: jdbc:drill:zk=local> CREATE OR REPLACE VIEW TempView AS SELECT CAST( NULL AS VARCHAR(3) ), CAST( NULL AS CHAR(4) )  FROM INFORMATION_SCHEMA.CATALOGS LIMIT 1 ;
> +------------+------------+
> |     ok     |  summary   |
> +------------+------------+
> | true       | View 'TempView' replaced successfully in 'dfs.tmp' schema |
> +------------+------------+
> 1 row selected (0.05 seconds)
> 0: jdbc:drill:zk=local> SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TempView';
> +---------------+--------------+------------+-------------+------------------+-------------+------------+--------------------------+-------------------------+---------------+-------------------+
> | TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | ORDINAL_POSITION | IS_NULLABLE | DATA_TYPE  | CHARACTER_MAXIMUM_LENGTH | NUMERIC_PRECISION_RADIX | NUMERIC_SCALE | NUMERIC_PRECISION |
> +---------------+--------------+------------+-------------+------------------+-------------+------------+--------------------------+-------------------------+---------------+-------------------+
> | DRILL         | dfs.tmp      | TempView   | EXPR$0      | 0                | NO          | VARCHAR    | 3                        | -1                      | -1            | -1                |
> | DRILL         | dfs.tmp      | TempView   | EXPR$1      | 1                | NO          | CHAR       | -1                       | -1                      | -1            | 4                 |
> +---------------+--------------+------------+-------------+------------------+-------------+------------+--------------------------+-------------------------+---------------+-------------------+
> 2 rows selected (0.072 seconds)
> 0: jdbc:drill:zk=local> 
> Hmm.  Note the 4 in the NUMERIC_PRECISION column:
> 0: jdbc:drill:zk=local> SELECT DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TempView';
> +------------+--------------------------+-------------------+
> | DATA_TYPE  | CHARACTER_MAXIMUM_LENGTH | NUMERIC_PRECISION |
> +------------+--------------------------+-------------------+
> | VARCHAR    | 3                        | -1                |
> | CHAR       | -1                       | 4                 |
> +------------+--------------------------+-------------------+
> 2 rows selected (0.065 seconds)
> 0: jdbc:drill:zk=local> 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)