예제 #1
0
 def test_sql(self):
     phrases = [ Phrase('actor', { 'dims' : 'athlete' }, []),
                 Phrase('actor', { 'dims' : 'country' }, []),
                 Phrase('medals', { 'stats' : 'sum(gold_medals)' }, []),
                 Phrase('medals', { 'stats' : 'sum(silver_medals)', 'limit' : '500' }, []),
                 Phrase('most', { 'orderbys' : 'sum(gold_medals) desc', 'limit' : '300' }, []),
                 Phrase('when', { 'conditions' : 'year = 2008' }, []),
                 Phrase('what_sport', { 'conditions' : "sport = 'Swimming'" }, []) ]
     query = Query('medal_table', phrases)
     sql = "SELECT athlete, country, sum(gold_medals), sum(silver_medals) FROM medal_table WHERE year = 2008 AND sport = 'Swimming' GROUP BY athlete, country ORDER BY sum(gold_medals) desc LIMIT 300"
     self.assertEqual(query.get_sql(), sql)
예제 #2
0
 def test_minimal_sql(self):
     query = Query('the_table', [ Phrase('t', { 'stats' : 'count(*)', 'limit' : '10' }, []) ])
     self.assertEqual(query.get_sql(), 'SELECT count(*) FROM the_table LIMIT 10')