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

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

LYCJeff commented on PR #2747:
URL: https://github.com/apache/drill/pull/2747#issuecomment-1449446242

   > @LYCJeff I really like the functionality here, but I am concerned that 
this is a breaking change and will affect existing Drill users. Also, it adds 
effectively new syntax to the SQL queries.
   
   @cgivre At this point, I can pass the unprefixed parameters in their place 
by default, the way they were. This minimizes the impact on existing users, 
except in the following cases. For example, the argument that the user passed 
into the request body was called `header.xxx`, but now needs to be rewritten as 
`body.header.xxx`, otherwise the argument will be passed into the request 
header.
   
   In addition, a problem that had been fixed would reappear. The argument that 
is passed to the url path is also passed to the end of the url, which has been 
clearly distinguished since I changed it.
   
   Let me know if you think this is more friendly to existing users, then I'll 
move in this direction.




> Allow parameters to be passed to headers through SQL in WHERE clause
> --------------------------------------------------------------------
>
>                 Key: DRILL-8393
>                 URL: https://issues.apache.org/jira/browse/DRILL-8393
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Storage - HTTP
>    Affects Versions: 1.20.0
>            Reporter: Yuchen Liang
>            Priority: Major
>
> Some APIs require parameters (e.g. digital signature) in the headers to be 
> generated at access time.So I'm wondering if we can pass it in through filter 
> statement.
> Perhaps we could design it like the params field in connections parameter. 
> For example:
>  
> Config:
> { "url": "https://api.sunrise-sunset.org/json";, "requireTail": false, 
> "params": ["body.lat", "body.lng", "body.date", "header.header1"], 
> "parameterLocation": "json_body" }
>  
> SQL Query:
> SELECT * FROM api.sunrise
> WHERE `body.lat` = 36.7201600
> AND `body.lng` = -4.4203400
> AND `body.date` = '2019-10-02'
> AND `header.header1` = 'value1';
>  
> Post body:
> { "lat": 36.7201600, "lng": -4.4203400, "date": "2019-10-02"}
>  
> Headers:
> { "header1": "value1", ……}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to