[ https://issues.apache.org/jira/browse/DRILL-6847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16688165#comment-16688165 ]
ASF GitHub Bot commented on DRILL-6847: --------------------------------------- cgivre commented on issue #1539: DRILL-6847: Add Query Metadata to RESTful Interface URL: https://github.com/apache/drill/pull/1539#issuecomment-439064781 HI @kkhatua A few things. First re: breaking backward compatibility. Since the RESTful interface returns JSON KV pairs, and since all this is doing is introducing an additional key (metadata) which contains the column types, I don't think it will break anything since it isn't doing anything to the existing keys. No real way to know unless a lot of people complain, but the tools which I use that use the RESTful interface are not affected. Secondly, regarding star queries, I did try a few on my local machine and you get a dump of all the column types. IE if your data contains 4 columns and you do a `SELECT *` you get: ``` "metadata": [ "INT", "VARCHAR", "VARCHAR", "VARCHAR" ], ``` Since this code gets called when results are returned, I don't think schema inconsistencies matter. IE if the query fails due to schema inconsistencies, you won't get metadata, and if it succeeds you get the results. @arina-ielchiieva Would you like to see additional arrays with precision and scale with null values if it is not needed. IE ``` "scale": [ 4, null, null, null ] ``` ---------------------------------------------------------------- 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)