diff --git a/web/pgadmin/utils/sqlautocomplete/autocomplete.py b/web/pgadmin/utils/sqlautocomplete/autocomplete.py index fa6c56d..259c15e 100644 --- a/web/pgadmin/utils/sqlautocomplete/autocomplete.py +++ b/web/pgadmin/utils/sqlautocomplete/autocomplete.py @@ -671,6 +671,11 @@ class SQLAutoComplete(object): full_text, identifier) def suggest_based_on_last_token(self, token, text_before_cursor, full_text, identifier): + # New version of sqlparse sends tuple, we need to make it + # compatible with our logic + if isinstance(token, tuple) and len(token) > 1: + token = token[1] + if isinstance(token, string_types): token_v = token.lower() elif isinstance(token, Comparison): diff --git a/web/pgadmin/utils/sqlautocomplete/parseutils.py b/web/pgadmin/utils/sqlautocomplete/parseutils.py index 29020a9..8817711 100644 --- a/web/pgadmin/utils/sqlautocomplete/parseutils.py +++ b/web/pgadmin/utils/sqlautocomplete/parseutils.py @@ -275,7 +275,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 hasattr(p, 'token_next_match') and p.token_next_match(0, Error, '"'): # An unmatched double quote, e.g. '"foo', 'foo."', or 'foo."bar' # Close the double quote, then reparse return parse_partial_identifier(word + '"')