Class SQLPlanner is an implementation of an {@link AssemblyPlanner} that supports parsing ANSI SQL statementsagainst {@link cascading.tap.Tap} meta-data into a pipe assembly, which in turn is used by a{@link cascading.flow.FlowConnector} to create a new {@link Flow} instance.
SQLPlanner uses available meta-data from a partially initialized Flow instance created by the current {@link cascading.flow.planner.FlowPlanner} for the given platform. Specifically, internal "table" meta-datais created from source and sink Tap instances provided by the current {@link cascading.flow.FlowDef}.
Currently table names as expected in the given SQL statement are expected to match the source and sink names, if the SQL names have a schema, {@link #setDefaultSchema(String)} must be called, or it must be prepended to thenames as provided to the FlowDef instance.
For example with this from clause {@code "select * from employees.salaries"}, either the source Tap should be named {@code "employees.salaries"} or {@code sqlPlanner.setDefaultSchema( "employees" );} must be called if the sourceTap is named {@code "salaries"}. Both approaches result in an internal "table" being named {@code "employees.salaries"}.
@see FlowDef