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

ASF GitHub Bot commented on DRILL-6588:
---------------------------------------

arina-ielchiieva commented on a change in pull request #1371: DRILL-6588: Make 
Sys tables of nullable datatypes
URL: https://github.com/apache/drill/pull/1371#discussion_r201624058
 
 

 ##########
 File path: 
exec/java-exec/src/main/java/org/apache/drill/exec/store/RecordDataType.java
 ##########
 @@ -47,17 +48,22 @@
    * @return the constructed type
    */
   public final RelDataType getRowType(RelDataTypeFactory factory) {
-    final List<SqlTypeName> types = getFieldSqlTypeNames();
+    final List<ImmutablePair<SqlTypeName, Boolean>> types = 
getFieldSqlTypeNames();
     final List<String> names = getFieldNames();
     final List<RelDataType> fields = Lists.newArrayList();
-    for (final SqlTypeName typeName : types) {
+
+    for (ImmutablePair<SqlTypeName, Boolean> sqlTypePair : types) {
+      final SqlTypeName typeName = sqlTypePair.getLeft();
+      final RelDataType tmpRDT;
 
 Review comment:
   tmpRTD -> tmpDataType

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> System table columns incorrectly marked as non-nullable 
> --------------------------------------------------------
>
>                 Key: DRILL-6588
>                 URL: https://issues.apache.org/jira/browse/DRILL-6588
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Metadata
>    Affects Versions: 1.13.0
>            Reporter: Aman Sinha
>            Assignee: Kunal Khatua
>            Priority: Major
>             Fix For: 1.14.0
>
>
> System table columns can contain null values but they are incorrectly marked 
> as non-nullable as shown in example table below:  
> {noformat}
> 0: jdbc:drill:drillbit=10.10.10.191> describe sys.boot;
> +-------------------+--------------------+--------------+
> |    COLUMN_NAME    |     DATA_TYPE      | IS_NULLABLE  |
> +-------------------+--------------------+--------------+
> | name              | CHARACTER VARYING  | NO           |
> | kind              | CHARACTER VARYING  | NO           |
> | accessibleScopes  | CHARACTER VARYING  | NO           |
> | optionScope       | CHARACTER VARYING  | NO           |
> | status            | CHARACTER VARYING  | NO           |
> | num_val           | BIGINT             | NO           |
> | string_val        | CHARACTER VARYING  | NO           |
> | bool_val          | BOOLEAN            | NO           |
> | float_val         | DOUBLE             | NO           |
> +-------------------+--------------------+--------------+{noformat}
>  
> Note that several columns are nulls: 
> {noformat}
> +---------------------------------------------------+----------+------------------+-------------+--------+---------+------------+----------+-----------+
> |                       name                        |   kind   | 
> accessibleScopes | optionScope | status | num_val | string_val | bool_val | 
> float_val |
> +---------------------------------------------------+----------+------------------+-------------+--------+---------+------------+----------+-----------+
> drill.exec.options.exec.udf.enable_dynamic_support | BOOLEAN | BOOT | BOOT | 
> BOOT | null | null | true | null |{noformat}
>  
> Because of the not-null metadata, the predicates on these tables such as 
> `WHERE <column> IS NULL` evaluate to FALSE which is incorrect. 
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to