[ 
https://issues.apache.org/jira/browse/DRILL-7968?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Turton updated DRILL-7968:
--------------------------------
    Description: 
For tables with fewer than ~200 rows and a FLOAT4 column there is no bug: the 
ANALYZE command succeeds and, indeed, this case is exercised by tests in 
TestMetastoreCommands.java and alltypes_\{required,optional}.parquet which both 
contain a FLOAT4 column.

But for tables with more than ~200 rows and a FLOAT4 column the ANALYZE command 
fails with

```

SQL Error: EXECUTION_ERROR ERROR: PojoRecordReader doesn't yet support 
conversions from the type [class java.lang.Float].

Failed to setup reader: DynamicPojoRecordReader

```

E.g. you can reproduce the above with

```

create table dfs.tmp.test_analyze as 
 select cast(1 as float) from cp.`employee.json`;

analyze table dfs.tmp.test_analyze refresh metadata;
 ```

I believe that the bug is easily fixed by adding support for Java.lang.Float to 
PojoRecordReader.  I do not know why it requires more than ~200 rows for the 
code path through PojoRecordReader to come into play, and for this bug to 
manifest.

  was:
For tables with fewer than ~200 rows and a FLOAT4 column there is no bug: the 
ANALYZE command succeeds and, indeed, this case is exercised by tests in 
TestMetastoreCommands.java and alltypes_\{required,optional}.parquet which both 
contain a FLOAT4 column.

But for tables with more than ~200 rows and a FLOAT4 column the ANALYZE command 
fails with

```

SQL Error: EXECUTION_ERROR ERROR: PojoRecordReader doesn't yet support 
conversions from the type [class java.lang.Float].

Failed to setup reader: DynamicPojoRecordReader

```

E.g. you can reproduce the above with

```

create table dfs.tmp.test_analyze as 
 select cast(1 as float) from cp.`employee.json`;

analyze table dfs.tmp.test_analyze refresh metadata;
 ```

The bug is easily fixed by adding support for Java.lang.Float to 
PojoRecordReader.  I do not know why it requires more than ~200 rows for the 
code path through PojoRecordReader to come into play, and for this bug to 
manifest.


> ANALYZE TABLE ... REFRESH METADATA fails with FLOAT4 column 
> ------------------------------------------------------------
>
>                 Key: DRILL-7968
>                 URL: https://issues.apache.org/jira/browse/DRILL-7968
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Metadata
>    Affects Versions: 1.19.0
>            Reporter: James Turton
>            Assignee: James Turton
>            Priority: Minor
>             Fix For: 1.20.0
>
>
> For tables with fewer than ~200 rows and a FLOAT4 column there is no bug: the 
> ANALYZE command succeeds and, indeed, this case is exercised by tests in 
> TestMetastoreCommands.java and alltypes_\{required,optional}.parquet which 
> both contain a FLOAT4 column.
> But for tables with more than ~200 rows and a FLOAT4 column the ANALYZE 
> command fails with
> ```
> SQL Error: EXECUTION_ERROR ERROR: PojoRecordReader doesn't yet support 
> conversions from the type [class java.lang.Float].
> Failed to setup reader: DynamicPojoRecordReader
> ```
> E.g. you can reproduce the above with
> ```
> create table dfs.tmp.test_analyze as 
>  select cast(1 as float) from cp.`employee.json`;
> analyze table dfs.tmp.test_analyze refresh metadata;
>  ```
> I believe that the bug is easily fixed by adding support for Java.lang.Float 
> to PojoRecordReader.  I do not know why it requires more than ~200 rows for 
> the code path through PojoRecordReader to come into play, and for this bug to 
> manifest.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to