summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pgcli/packages/parseutils.py2
-rw-r--r--pgcli/packages/sqlcompletion.py14
-rw-r--r--setup.py2
3 files changed, 9 insertions, 9 deletions
diff --git a/pgcli/packages/parseutils.py b/pgcli/packages/parseutils.py
index cbdd1e3e..4a5b47c2 100644
--- a/pgcli/packages/parseutils.py
+++ b/pgcli/packages/parseutils.py
@@ -296,7 +296,7 @@ def parse_partial_identifier(word):
n_tok = len(p.tokens)
if n_tok == 1 and isinstance(p.tokens[0], Identifier):
return p.tokens[0]
- elif p.token_next_match(0, Error, '"'):
+ elif p.token_next_by(m=(Error, '"'))[1]:
# An unmatched double quote, e.g. '"foo', 'foo."', or 'foo."bar'
# Close the double quote, then reparse
return parse_partial_identifier(word + '"')
diff --git a/pgcli/packages/sqlcompletion.py b/pgcli/packages/sqlcompletion.py
index 54a0ec5e..e339e2b4 100644
--- a/pgcli/packages/sqlcompletion.py
+++ b/pgcli/packages/sqlcompletion.py
@@ -81,7 +81,7 @@ class SqlStatement(object):
self.text_before_cursor = text_before_cursor
self.parsed = parsed
- self.last_token = parsed and parsed.token_prev(len(parsed.tokens)) or ''
+ self.last_token = parsed and parsed.token_prev(len(parsed.tokens))[1] or ''
def is_insert(self):
return self.parsed.token_first().value.lower() == 'insert'
@@ -164,7 +164,7 @@ def _split_multiple_statements(full_text, text_before_cursor, parsed):
stmt_start, stmt_end = 0, 0
for statement in parsed:
- stmt_len = len(statement.to_unicode())
+ stmt_len = len(str(statement))
stmt_start, stmt_end = stmt_end, stmt_end + stmt_len
if stmt_end >= current_pos:
@@ -292,7 +292,7 @@ def suggest_based_on_last_token(token, stmt):
# Check for a subquery expression (cases 3 & 4)
where = p.tokens[-1]
- prev_tok = where.token_prev(len(where.tokens) - 1)
+ prev_tok = where.token_prev(len(where.tokens) - 1)[1]
if isinstance(prev_tok, Comparison):
# e.g. "SELECT foo FROM bar WHERE foo = ANY("
@@ -305,7 +305,7 @@ def suggest_based_on_last_token(token, stmt):
return column_suggestions
# Get the token before the parens
- prev_tok = p.token_prev(len(p.tokens) - 1)
+ prev_tok = p.token_prev(len(p.tokens) - 1)[1]
if (prev_tok and prev_tok.value
and prev_tok.value.lower().split(' ')[-1] == 'using'):
@@ -321,7 +321,7 @@ def suggest_based_on_last_token(token, stmt):
if last_word(stmt.text_before_cursor,
'all_punctuations').startswith('('):
return (Keyword(),)
- prev_prev_tok = p.token_prev(p.token_index(prev_tok))
+ prev_prev_tok = p.token_prev(p.token_index(prev_tok))[1]
if prev_prev_tok and prev_prev_tok.normalized == 'INTO':
return (Column(tables=stmt.get_tables('insert')),)
# We're probably in a function argument list
@@ -461,7 +461,7 @@ def _allow_join_condition(statement):
if not statement or not statement.tokens:
return False
- last_tok = statement.token_prev(len(statement.tokens))
+ last_tok = statement.token_prev(len(statement.tokens))[1]
return last_tok.value.lower() in ('on', 'and', 'or')
@@ -480,6 +480,6 @@ def _allow_join(statement):
if not statement or not statement.tokens:
return False
- last_tok = statement.token_prev(len(statement.tokens))
+ last_tok = statement.token_prev(len(statement.tokens))[1]
return (last_tok.value.lower().endswith('join')
and last_tok.value.lower() not in('cross join', 'natural join'))
diff --git a/setup.py b/setup.py
index 13cdbfae..cd88848c 100644
--- a/setup.py
+++ b/setup.py
@@ -17,7 +17,7 @@ install_requirements = [
'Pygments >= 2.0', # Pygments has to be Capitalcased. WTF?
'prompt_toolkit>=1.0.0,<1.1.0',
'psycopg2 >= 2.5.4',
- 'sqlparse == 0.1.19',
+ 'sqlparse == 0.2.0',
'configobj >= 5.0.6',
'humanize >= 0.5.1',
'wcwidth >= 0.1.6',