mirror of
https://github.com/dbcli/pgcli.git
synced 2024-10-06 02:07:53 +03:00
Merge pull request #501 from koljonen/fixusing
Fix bug where "USING(<cursor>" wasn't detected properly + add test case
This commit is contained in:
commit
5844690138
@ -247,7 +247,9 @@ def suggest_based_on_last_token(token, text_before_cursor, full_text, identifier
|
||||
|
||||
# Get the token before the parens
|
||||
prev_tok = p.token_prev(len(p.tokens) - 1)
|
||||
if prev_tok and prev_tok.value and prev_tok.value.lower() == 'using':
|
||||
|
||||
if (prev_tok and prev_tok.value
|
||||
and prev_tok.value.lower().split(' ')[-1] == 'using'):
|
||||
# tbl1 INNER JOIN tbl2 USING (col1, col2)
|
||||
tables = extract_tables(full_text)
|
||||
|
||||
|
@ -346,8 +346,11 @@ def test_suggested_tables_after_on_right_side(completer, complete_event):
|
||||
Completion(text='users', start_position=0, display_meta='table alias'),
|
||||
Completion(text='orders', start_position=0, display_meta='table alias')])
|
||||
|
||||
def test_join_using_suggests_common_columns(completer, complete_event):
|
||||
text = 'SELECT * FROM users INNER JOIN orders USING ('
|
||||
@pytest.mark.parametrize('text', [
|
||||
'SELECT * FROM users INNER JOIN orders USING (',
|
||||
'SELECT * FROM users INNER JOIN orders USING(',
|
||||
])
|
||||
def test_join_using_suggests_common_columns(completer, complete_event, text):
|
||||
pos = len(text)
|
||||
result = set(completer.get_completions(
|
||||
Document(text=text, cursor_position=pos), complete_event))
|
||||
@ -356,8 +359,11 @@ def test_join_using_suggests_common_columns(completer, complete_event):
|
||||
Completion(text='email', start_position=0, display_meta='column'),
|
||||
])
|
||||
|
||||
def test_join_using_suggests_columns_after_first_column(completer, complete_event):
|
||||
text = 'SELECT * FROM users INNER JOIN orders USING (id,'
|
||||
@pytest.mark.parametrize('text', [
|
||||
'SELECT * FROM users INNER JOIN orders USING (id,',
|
||||
'SELECT * FROM users INNER JOIN orders USING(id,',
|
||||
])
|
||||
def test_join_using_suggests_columns_after_first_column(completer, complete_event, text):
|
||||
pos = len(text)
|
||||
result = set(completer.get_completions(
|
||||
Document(text=text, cursor_position=pos), complete_event))
|
||||
|
Loading…
Reference in New Issue
Block a user