File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1313from sqlparse .sql import IdentifierList , Identifier
1414from sqlparse .tokens import Keyword , DML
1515
16+
1617def is_subselect (parsed ):
1718 if not parsed .is_group ():
1819 return False
@@ -21,6 +22,7 @@ def is_subselect(parsed):
2122 return True
2223 return False
2324
25+
2426def extract_from_part (parsed ):
2527 from_seen = False
2628 for item in parsed .tokens :
@@ -35,6 +37,7 @@ def extract_from_part(parsed):
3537 elif item .ttype is Keyword and item .value .upper () == 'FROM' :
3638 from_seen = True
3739
40+
3841def extract_table_identifiers (token_stream ):
3942 for item in token_stream :
4043 if isinstance (item , IdentifierList ):
@@ -47,9 +50,11 @@ def extract_table_identifiers(token_stream):
4750 elif item .ttype is Keyword :
4851 yield item .value
4952
53+
5054def extract_tables ():
5155 stream = extract_from_part (sqlparse .parse (sql )[0 ])
5256 return list (extract_table_identifiers (stream ))
5357
58+
5459if __name__ == '__main__' :
5560 print 'Tables: %s' % ', ' .join (extract_tables ())
You can’t perform that action at this time.
0 commit comments