diff options
author | Darik Gamble <darik.gamble@gmail.com> | 2015-02-09 12:01:18 -0500 |
---|---|---|
committer | Darik Gamble <darik.gamble@gmail.com> | 2015-02-09 12:59:34 -0500 |
commit | d29cadef7539515d646e1c83e5fcf92415867886 (patch) | |
tree | 47e2b92d9dcc160e9f5c4cffced799ea770b106c /sqlparse/sql.py | |
parent | 8a23215952c409f8cc1eae1f25a3160b32e8cbdf (diff) | |
download | sqlparse-d29cadef7539515d646e1c83e5fcf92415867886.tar.gz |
get_alias() uses _get_first_name(), and searches in reverse for "column expression alias"
Diffstat (limited to 'sqlparse/sql.py')
-rw-r--r-- | sqlparse/sql.py | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/sqlparse/sql.py b/sqlparse/sql.py index 5ecab92..b28e627 100644 --- a/sqlparse/sql.py +++ b/sqlparse/sql.py @@ -390,21 +390,17 @@ class TokenList(Token): def get_alias(self): """Returns the alias for this identifier or ``None``.""" + + # "name AS alias" kw = self.token_next_match(0, T.Keyword, 'AS') if kw is not None: - alias = self.token_next(self.token_index(kw)) - if alias is None: - return None - else: - next_ = self.token_next_by_instance(0, Identifier) - if next_ is None: - next_ = self.token_next_by_type(0, T.String.Symbol) - if next_ is None: - return None - alias = next_ - if isinstance(alias, Identifier): - return alias.get_name() - return self._remove_quotes(unicode(alias)) + return self._get_first_name(kw, keywords=True) + + # "name alias" or "complicated column expression alias" + if len(self.tokens) > 2: + return self._get_first_name(reverse=True) + + return None def get_name(self): """Returns the name of this identifier. |