A few thoughts on the test case.
1. The testcase creates and drops the fixtures (tables t1,t2) that it needs If the test fails, the tables will not be dropped causing potential problems if others add more tests to this suite. It may be better to move the table creation to a setUp method or better still to a oneTimeSetup or atleast dropping the tables in a finally block.
2. Do you think its worth the effort to break up the new test case testGroupBy into smaller test cases? There are several advantages to small test cases-- for one, if you encounter a failure, it does not hide other problems down the test case. Second it can quickly clue you to the nature of the failure. The comments in the test provide a handy way to split up the test case; i.e.
// ?s in group by
// group by on long varchar type
// having clause cannot contain column references which
// are not grouping columns
If a test case called testParamInGroupBy fails, the person investigating the failure has a lot more to go by then a failure in testGroupBy.