Skip to content

Commit d9b717a

Browse files
committed
Improve detection of aliased identifiers (fixes andialbrecht#185).
1 parent 4f51954 commit d9b717a

3 files changed

Lines changed: 9 additions & 2 deletions

File tree

CHANGES

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
Development version
22
-------------------
33

4-
Nothing new yet
4+
Bug Fixes
5+
* Fix a regression in get_alias() introduced in 0.1.15 (issue185).
56

67

78
Release 0.1.15 (Apr 15, 2015)

sqlparse/sql.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,8 @@ def get_alias(self):
397397
return self._get_first_name(kw, keywords=True)
398398

399399
# "name alias" or "complicated column expression alias"
400-
if len(self.tokens) > 2:
400+
if len(self.tokens) > 2 \
401+
and self.token_next_by_type(0, T.Whitespace) is not None:
401402
return self._get_first_name(reverse=True)
402403

403404
return None

tests/test_grouping.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,11 @@ def test_alias_case(self): # see issue46
186186
self.assertEqual(len(p.tokens), 1)
187187
self.assertEqual(p.tokens[0].get_alias(), 'foo')
188188

189+
def test_alias_returns_none(self): # see issue185
190+
p = sqlparse.parse('foo.bar')[0]
191+
self.assertEqual(len(p.tokens), 1)
192+
self.assertEqual(p.tokens[0].get_alias(), None)
193+
189194
def test_idlist_function(self): # see issue10 too
190195
p = sqlparse.parse('foo(1) x, bar')[0]
191196
self.assert_(isinstance(p.tokens[0], sql.IdentifierList))

0 commit comments

Comments
 (0)