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

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_r234997076
 
 

 ##########
 File path: 
exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java
 ##########
 @@ -126,14 +128,23 @@ private float getHeapUsage() {
   public static class QueryResult {
     private final String queryId;
     public final Collection<String> columns;
+    public final HashMap<String, ArrayList> metadata;
     public final List<Map<String, String>> rows;
 
     public QueryResult(QueryId queryId, Collection<String> columns, 
List<Map<String, String>> rows) {
       this.queryId = QueryIdHelper.getQueryId(queryId);
       this.columns = columns;
+      this.metadata = new HashMap<String,ArrayList>();
       this.rows = rows;
     }
 
+    public QueryResult(QueryId queryId, WebUserConnection webUserConnection, 
List<Map<String, String>> rows) {
 
 Review comment:
   I left the original constructor because I wasn't sure if it was used 
elsewhere and I didn't want to break anything.  The new one passes the 
`webUserConnection` directly to the `QueryResult` and enables you to access all 
the newly added properties.
   
   I can remove the old one if you'd prefer.

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