[
https://issues.apache.org/jira/browse/DRILL-6084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16648638#comment-16648638
]
ASF GitHub Bot commented on DRILL-6084:
---------------------------------------
kkhatua commented on a change in pull request #1491: DRILL-6084: Show Drill
functions in WebUI for autocomplete
URL: https://github.com/apache/drill/pull/1491#discussion_r224942957
##########
File path:
exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/WebServer.java
##########
@@ -495,4 +509,50 @@ private void generateOptionsDescriptionJSFile() throws
IOException {
writer.flush();
}
}
+
+ //Generates ACE library javascript populated with list of available SQL
functions
+ private void generateFunctionJS() throws IOException {
+ //Naturally ordered set of function names
+ TreeSet<String> functionSet = new TreeSet<>();
+ //Extracting ONLY builtIn functions (i.e those already available)
+ List<FunctionHolder> builtInFuncHolderList =
this.drillbit.getContext().getFunctionImplementationRegistry().getLocalFunctionRegistry()
+ .getAllJarsWithFunctionsHolders().get(LocalFunctionRegistry.BUILT_IN);
+
+ //Build List of usable functions
Review comment:
The ACE library cannot support autocomplete for functions like '<' , '!' and
'==' . We filter out all functions that don't start with an alphabet to avoid
breaking the suggestions that the library will provide after loading. Added
this in the comments now.
----------------------------------------------------------------
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:
[email protected]
> Expose list of Drill functions for consumption by JavaScript libraries
> ----------------------------------------------------------------------
>
> Key: DRILL-6084
> URL: https://issues.apache.org/jira/browse/DRILL-6084
> Project: Apache Drill
> Issue Type: Improvement
> Components: Web Server
> Reporter: Kunal Khatua
> Assignee: Kunal Khatua
> Priority: Minor
> Labels: javascript
> Fix For: 1.15.0
>
>
> DRILL-5868 introduces SQL highlighter and the auto-complete feature in the
> web-UI's query editor.
> For the backend Javascript to highlight the keywords correctly as SQL
> reserved words or functions, it needs a list of all the Drill functions to be
> already defined in a source JavaScript ( {{../mode-sql.js}} ) .
> While this works well for standard Drill functions, it means that any new
> function added to Drill needs to be explicitly hard-coded into the file,
> rather than be programatically discovered and loaded for the library to
> highlight.
> It would help if this can be done dynamically without contributors having to
> explicitly alter the script file to add new function names.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)