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

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

cgivre commented on a change in pull request #1539: DRILL-6847: Add Query 
Metadata to RESTful Interface
URL: https://github.com/apache/drill/pull/1539#discussion_r233405972
 
 

 ##########
 File path: 
exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/WebUserConnection.java
 ##########
 @@ -106,7 +110,10 @@ public void sendData(RpcOutcomeListener<Ack> listener, 
QueryWritableBatch result
         // TODO:  Clean:  DRILL-2933:  That load(...) no longer throws
         // SchemaChangeException, so check/clean catch clause below.
         for (int i = 0; i < loader.getSchema().getFieldCount(); ++i) {
-          columns.add(loader.getSchema().getColumn(i).getName());
+
+          MaterializedField col = loader.getSchema().getColumn(i);
+          columns.add(col.getName());
+          metadata.add(col.getType().getMinorType().name());
 
 Review comment:
   Hi @arina-ielchiieva ,
   The use case I had in mind was integrating Drill with SQLPad and Apache 
Superset.  In these instances basically, the UI needed to know if a field was 
numeric, temporal of any sort, or text so that it could render visualizations 
properly.  
   
   I'm sure there are other use cases out there, but I know that for me at 
least, this was a major blocker in getting Drill to work with the various BI 
tools.  The JDBC interface provided this information, but the RESTful interface 
did not, so I had to resort to hackery. 
   
   So to answer your question, it might be useful for other use cases to 
provide precision and scale, but for the one I had in mind, that would not be 
helpful. 

----------------------------------------------------------------
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


> Add Query Metadata to RESTful Interface
> ---------------------------------------
>
>                 Key: DRILL-6847
>                 URL: https://issues.apache.org/jira/browse/DRILL-6847
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Metadata
>            Reporter: Charles Givre
>            Assignee: Charles Givre
>            Priority: Minor
>
> The Drill RESTful interface does not return the structure of the query 
> results.   This makes integrating Drill with other BI tools difficult because 
> they do not know what kind of data to expect.  
> This PR adds a new section to the results called Metadata which contains a 
> list of the minor types of all the columns returned.
> The query below will now return the following in the RESTful interface:
> {code:sql}
> SELECT CAST( employee_id AS INT) AS employee_id,
> full_name,
> first_name, 
> last_name, 
> CAST( position_id AS BIGINT) AS position_id, 
> position_title 
> FROM cp.`employee.json` LIMIT 2
> {code}
> {code}
> {
>   "queryId": "2414bf3f-b4f4-d4df-825f-73dfb3a56681",
>   "columns": [
>     "employee_id",
>     "full_name",
>     "first_name",
>     "last_name",
>     "position_id",
>     "position_title"
>   ],
>   "metadata": [
>     "INT",
>     "VARCHAR",
>     "VARCHAR",
>     "VARCHAR",
>     "BIGINT",
>     "VARCHAR"
>   ],
>   "rows": [
>     {
>       "full_name": "Sheri Nowmer",
>       "employee_id": "1",
>       "last_name": "Nowmer",
>       "position_title": "President",
>       "first_name": "Sheri",
>       "position_id": "1"
>     },
>     {
>       "full_name": "Derrick Whelply",
>       "employee_id": "2",
>       "last_name": "Whelply",
>       "position_title": "VP Country Manager",
>       "first_name": "Derrick",
>       "position_id": "2"
>     }
>   ]
> }
> {code}
>  



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

Reply via email to