Skip to content

Commit 7d40166

Browse files
author
Sotnichenko Sergey
committed
[ZEPPELIN-1876] improved comptetion with schema/table/column separation + sqlcompleter tests
1 parent 0ab026e commit 7d40166

File tree

4 files changed

+626
-115
lines changed

4 files changed

+626
-115
lines changed

jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -201,18 +201,8 @@ private void setMaxLineResults() {
201201

202202
private SqlCompleter createSqlCompleter(Connection jdbcConnection) {
203203

204-
SqlCompleter completer = null;
205-
try {
206-
Set<String> keywordsCompletions = SqlCompleter.getSqlKeywordsCompletions(jdbcConnection);
207-
Set<String> dataModelCompletions =
208-
SqlCompleter.getDataModelMetadataCompletions(jdbcConnection);
209-
SetView<String> allCompletions = Sets.union(keywordsCompletions, dataModelCompletions);
210-
completer = new SqlCompleter(allCompletions, dataModelCompletions);
211-
212-
} catch (IOException | SQLException e) {
213-
logger.error("Cannot create SQL completer", e);
214-
}
215-
204+
SqlCompleter completer = new SqlCompleter();
205+
completer.initFromConnection(jdbcConnection, "");
216206
return completer;
217207
}
218208

@@ -712,7 +702,8 @@ public Scheduler getScheduler() {
712702
public List<InterpreterCompletion> completion(String buf, int cursor) {
713703
List<CharSequence> candidates = new ArrayList<>();
714704
SqlCompleter sqlCompleter = propertyKeySqlCompleterMap.get(getPropertyKey(buf));
715-
if (sqlCompleter != null && sqlCompleter.complete(buf, cursor, candidates) >= 0) {
705+
// It's strange but here cursor comes with additional +1 (even if buf is "" cursor = 1)
706+
if (sqlCompleter != null && sqlCompleter.complete(buf, cursor - 1, candidates) >= 0) {
716707
List<InterpreterCompletion> completion;
717708
completion = Lists.transform(candidates, sequenceToStringTransformer);
718709

0 commit comments

Comments
 (0)