@@ -10,8 +10,35 @@ def test_prql(self):
1010 self .validate_identity ("FROM x DERIVE x = a + 1" , "SELECT *, a + 1 AS x FROM x" )
1111 self .validate_identity ("FROM x DERIVE {a + 1}" , "SELECT *, a + 1 FROM x" )
1212 self .validate_identity ("FROM x DERIVE {x = a + 1, b}" , "SELECT *, a + 1 AS x, b FROM x" )
13+ self .validate_identity (
14+ "FROM x DERIVE {x = a + 1, b} SELECT {y = x, 2}" , "SELECT a + 1 AS y, 2 FROM x"
15+ )
1316 self .validate_identity ("FROM x TAKE 10" , "SELECT * FROM x LIMIT 10" )
1417 self .validate_identity ("FROM x TAKE 10 TAKE 5" , "SELECT * FROM x LIMIT 5" )
18+ self .validate_identity ("FROM x FILTER age > 25" , "SELECT * FROM x WHERE age > 25" )
1519 self .validate_identity (
16- "FROM x DERIVE {x = a + 1, b} SELECT {y = x, 2}" , "SELECT a + 1 AS y, 2 FROM x"
20+ "FROM x DERIVE {x = a + 1, b} FILTER age > 25" ,
21+ "SELECT *, a + 1 AS x, b FROM x WHERE age > 25" ,
22+ )
23+ self .validate_identity ("FROM x FILTER dept != 'IT'" , "SELECT * FROM x WHERE dept <> 'IT'" )
24+ self .validate_identity (
25+ "FROM x FILTER p == 'product' SELECT { a, b }" , "SELECT a, b FROM x WHERE p = 'product'"
26+ )
27+ self .validate_identity (
28+ "FROM x FILTER age > 25 FILTER age < 27" , "SELECT * FROM x WHERE age > 25 AND age < 27"
29+ )
30+ self .validate_identity (
31+ "FROM x FILTER (age > 25 && age < 27)" , "SELECT * FROM x WHERE (age > 25 AND age < 27)"
32+ )
33+ self .validate_identity (
34+ "FROM x FILTER (age > 25 || age < 27)" , "SELECT * FROM x WHERE (age > 25 OR age < 27)"
35+ )
36+ self .validate_identity (
37+ "FROM x FILTER (age > 25 || age < 22) FILTER age > 26 FILTER age < 27" ,
38+ "SELECT * FROM x WHERE ((age > 25 OR age < 22) AND age > 26) AND age < 27" ,
39+ )
40+ self .validate_identity ("FROM x APPEND y" , "SELECT * FROM x UNION ALL SELECT * FROM y" )
41+ self .validate_identity ("FROM x REMOVE y" , "SELECT * FROM x EXCEPT ALL SELECT * FROM y" )
42+ self .validate_identity (
43+ "FROM x INTERSECT y" , "SELECT * FROM x INTERSECT ALL SELECT * FROM y"
1744 )
0 commit comments