columns(column("type1", "a1", "a"), column("type1", "a2", "b"), column("type1", "a3", "c"),
column("type1", "a4", "d")));
PlanNode select1 = new PlanNode(Type.SELECT, project, selector("type1"));
select1.setProperty(Property.SELECT_CRITERIA, new FullTextSearch(selector("type1"), "a2", "something"));
PlanNode select2 = new PlanNode(Type.SELECT, select1, selector("type1"));
select2.setProperty(Property.SELECT_CRITERIA, new SetCriteria(new PropertyValue(selector("type1"), "primaryType"),
new Literal("t1"), new Literal("t0")));
PlanNode select3 = new PlanNode(Type.SELECT, select2, selector("type1"));
select3.setProperty(Property.SELECT_CRITERIA, new SetCriteria(new PropertyValue(selector("type1"), "mixins"),
new Literal("t3"), new Literal("t4")));
PlanNode select4 = new PlanNode(Type.SELECT, select3, selector("type1"));
select4.setProperty(Property.SELECT_CRITERIA, new SetCriteria(new PropertyValue(selector("type1"), "primaryType"),
new Literal("t2"), new Literal("t0")));
PlanNode select5 = new PlanNode(Type.SELECT, select4, selector("type1"));
select5.setProperty(Property.SELECT_CRITERIA, new SetCriteria(new PropertyValue(selector("type1"), "mixins"),
new Literal("t4"), new Literal("t5")));
PlanNode source = new PlanNode(Type.SOURCE, select5, selector("type1"));
source.setProperty(Property.SOURCE_NAME, selector("all"));
source.setProperty(Property.SOURCE_ALIAS, selector("type1"));
source.setProperty(Property.SOURCE_COLUMNS, context.getSchemata().getTable(selector("all")).getColumns());