def test_extract_table_names_method(self): sqldf = SQLDF(self.default_env) tablenames = { "select * from df;": ["df"], "select * from df": ["df"], "select * from _": ["_"], "select * from 11;": [], "select * from 1ab;": [], "select * from a-b;": [], "select * from a.b;": [], "select a;": [], "select * from (select * from subq_df) f;": ["subq_df"], "select * from df d1 inner join df2 d2 on d1.id = d2.id;": ["df", "df2"], "select a, b c from df where c in (select foo from df2 inner join df3 on df2.id = df3.id);": ["df", "df2", "df3"], "select * from df where a in (select a from (select c from df2 where c in (select a from df3 inner join df4 on df3.id = df4.id)));": ["df", "df2", "df3", "df4"] } for query, tablename in tablenames.items(): self.assertEqual( set(sqldf._extract_table_names(query)), set(tablename))
def test_extract_table_names_method(self): sqldf = SQLDF(self.default_env) tablenames = { "select * from df;": ["df"], "select * from df": ["df"], "select * from _": ["_"], "select * from 11;": [], "select * from 1ab;": [], "select * from a-b;": [], "select * from a.b;": [], "select a;": [], "select * from (select * from subq_df) f;": ["subq_df"], "select * from df d1 inner join df2 d2 on d1.id = d2.id;": ["df", "df2"], "select a, b c from df where c in (select foo from df2 inner join df3 on df2.id = df3.id);": ["df", "df2", "df3"], "select * from df where a in (select a from (select c from df2 where c in (select a from df3 inner join df4 on df3.id = df4.id)));": ["df", "df2", "df3", "df4"] } for query, tablename in tablenames.items(): self.assertEqual(set(sqldf._extract_table_names(query)), set(tablename))