Github user paul-rogers commented on the issue:

    https://github.com/apache/drill/pull/1184
  
    One additional note. We noted that JDBC does not support the idea of a 
nested tuple (a Drill "map".) JDBC does support columns that return a Java 
object. To bridge the gap, Drill returns a Map column as a Java object.
    
    But, why a JSON object? The answer seems to lie with the `sqline` program. 
If we query a one-line JSON file with a nested object in `sqlline`, we get the 
following display:
    
    ```
    SELECT * FROM `json/nested.json`;
    +---------+----------------------------------+
    | custId  |               name               |
    +---------+----------------------------------+
    | 101     | {"first":"John","last":"Smith"}  |
    +---------+----------------------------------+
    ```
    
    So, it seems likely that the the value of a Map object was translated to a 
JSON object so that when `sqlline` calls `toString()` on it, it ends up 
formatted nicely as above.
    
    Because of this, it may be hard to change the kind of objects returned from 
JDBC for a Map column.


---

Reply via email to