The form of your test data depends on the kind of rules you are writing. If you
are aiming to push down a lot of operations down to a particular engine (e.g.
Druid can handle everything except Join) then you should run on that engine. If
you are interested mainly in logical transformation rules then the capabilities
of the engine are less important and you could run on say the Csv adapter. For
convenience & familiarity I use JDBC_SCOTT, and if I want a larger data set
with a rich model I use JDBC_FOODMART.
Lastly, if you are writing unit tests for correctness of the rules, and don’t
want to execute queries, create a sub-class of RelOptRulesTest.
> On Sep 17, 2016, at 8:08 AM, Γιώργος Θεοδωράκης <giwrgosrth...@gmail.com>
> I am trying to create a basic planner that enforces rules on simple
> queries. At the moment I have created a planner from the examples (and
> samza-sql integration I found online) and used HepPlanner for testing some
> rules. My question is which form should my test data be? I am using
> something like JdbcTest.HrSchema() right now and I am wondering if I
> should create Tables that implement Scannable and Filterable in order to
> implement optimizations.