[
https://issues.apache.org/jira/browse/DRILL-7604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17045120#comment-17045120
]
ASF GitHub Bot commented on DRILL-7604:
---------------------------------------
paul-rogers commented on pull request #1997: DRILL-7604: Allow session options
to be set in HTTP queries
URL: https://github.com/apache/drill/pull/1997#discussion_r384260002
##########
File path:
exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java
##########
@@ -131,6 +146,52 @@ public QueryResult run(final WorkManager workManager,
final WebUserConnection we
return new QueryResult(queryId, webUserConnection,
webUserConnection.results);
}
+ private void applyOptions(WebUserConnection webUserConnection) throws
BadRequestException {
Review comment:
This and the above can probably be simplified. Just keep the options as a
string map until here. Then use `OptionManager.setLocalOption(String name,
String value)`. (Why it is called "local" I don't know, nor do I know why we
have one that takes an `Object` and another that takes a `String`, seems an
unsafe overloading to me.) Anyway, that method does the very same string
parsing this code does above, and avoids the need for the double type check.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Cannot set session options using REST API / Web UI
> --------------------------------------------------
>
> Key: DRILL-7604
> URL: https://issues.apache.org/jira/browse/DRILL-7604
> Project: Apache Drill
> Issue Type: Improvement
> Components: Web Server
> Affects Versions: 1.17.0
> Reporter: Dobes Vandermeer
> Assignee: Dobes Vandermeer
> Priority: Minor
>
> Some commands are configured using session options that you set using the
> `SET` command. However, the `SET` command is not useful in the Web UI and
> REST API because the options you set are not preserved in the next request.
> For example, when using CREATE TABLE AS you must `SET store.format csv` to
> set the output format to comma-separated value, but this is not possible via
> the REST API.
> I propose that the API be updated to support options that are normally
> provided using SET:
> # The JSON API accepts an object "options" whose keys are options and values
> are option values. The values should have an appropriate type for the given
> option, e.g. JSON boolean if the option type is boolean
> # The form-based API used by the Web UI scans any provided form fields that
> match a valid session option and sets those options, parsing strings
> according to the type of option
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)