test_class.declarator: util
test_class.modifier: private static
test_class.original_string: private static TajoTestingCluster util;
test_class.type: TajoTestingCluster
test_class.var_name: util
test_class.declarator: catalog
test_class.modifier: private static
test_class.original_string: private static CatalogService catalog;
test_class.type: CatalogService
test_class.var_name: catalog
test_class.declarator: sqlAnalyzer
test_class.modifier: private static
test_class.original_string: private static SQLAnalyzer sqlAnalyzer;
test_class.type: SQLAnalyzer
test_class.var_name: sqlAnalyzer
test_class.declarator: planner
test_class.modifier: private static
test_class.original_string: private static LogicalPlanner planner;
test_class.type: LogicalPlanner
test_class.var_name: planner
test_class.declarator: tpch
test_class.modifier: private static
test_class.original_string: private static TPCH tpch;
test_class.type: TPCH
test_class.var_name: tpch
test_class.declarator: session = LocalTajoTestingUtility.createDummySession()
test_class.modifier: private static
test_class.original_string: private static Session session = LocalTajoTestingUtility.createDummySession();
test_class.type: Session
test_class.var_name: session
test_class.declarator: QUERIES = {
        "select name, empid, deptname from employee where empId > 500", // 0
        "select name, empid, e.deptname, manager from employee as e, dept as dp", // 1
        "select name, empid, e.deptname, manager, score from employee as e, dept, score", // 2
        "select p.deptname, sumtest(score) from dept as p, score group by p.deptName having sumtest(score) > 30", // 3
        "select p.deptname, score from dept as p, score order by score asc", // 4
        "select name from employee where empId = 100", // 5
        "select name, score from employee, score", // 6
        "select p.deptName, sumtest(score) from dept as p, score group by p.deptName", // 7
        "create table store1 as select p.deptName, sumtest(score) from dept as p, score group by p.deptName", // 8
        "select deptName, sumtest(score) from score group by deptName having sumtest(score) > 30", // 9
        "select 7 + 8 as res1, 8 * 9 as res2, 10 * 10 as res3", // 10
        "create index idx_employee on employee using bitmap (name null first, empId desc) with ('fillfactor' = 70)", // 11
        "select name, score from employee, score order by score limit 3", // 12
        "select length(name), length(deptname), *, empid+10 from employee where empId > 500", // 13
    }
test_class.modifier: static
test_class.original_string: static String[] QUERIES = {
        "select name, empid, deptname from employee where empId > 500", // 0
        "select name, empid, e.deptname, manager from employee as e, dept as dp", // 1
        "select name, empid, e.deptname, manager, score from employee as e, dept, score", // 2
        "select p.deptname, sumtest(score) from dept as p, score group by p.deptName having sumtest(score) > 30", // 3
        "select p.deptname, score from dept as p, score order by score asc", // 4
        "select name from employee where empId = 100", // 5
        "select name, score from employee, score", // 6
        "select p.deptName, sumtest(score) from dept as p, score group by p.deptName", // 7
        "create table store1 as select p.deptName, sumtest(score) from dept as p, score group by p.deptName", // 8
        "select deptName, sumtest(score) from score group by deptName having sumtest(score) > 30", // 9
        "select 7 + 8 as res1, 8 * 9 as res2, 10 * 10 as res3", // 10
        "create index idx_employee on employee using bitmap (name null first, empId desc) with ('fillfactor' = 70)", // 11
        "select name, score from employee, score order by score limit 3", // 12
        "select length(name), length(deptname), *, empid+10 from employee where empId > 500", // 13
    };
test_class.type: String[]
test_class.var_name: QUERIES
test_class.declarator: JOINS = {
        "select name, dept.deptName, score from employee natural join dept natural join score", // 0
        "select name, dept.deptName, score from employee inner join dept on employee.deptName = dept.deptName inner join score on dept.deptName = score.deptName", // 1
        "select name, dept.deptName, score from employee left outer join dept on employee.deptName = dept.deptName right outer join score on dept.deptName = score.deptName" // 2
    }
test_class.original_string: String [] JOINS = {
        "select name, dept.deptName, score from employee natural join dept natural join score", // 0
        "select name, dept.deptName, score from employee inner join dept on employee.deptName = dept.deptName inner join score on dept.deptName = score.deptName", // 1
        "select name, dept.deptName, score from employee left outer join dept on employee.deptName = dept.deptName right outer join score on dept.deptName = score.deptName" // 2
    };
test_class.type: String []
test_class.var_name: JOINS
test_class.declarator: expectedJoinSchema
test_class.modifier: static
test_class.original_string: static Schema expectedJoinSchema;
test_class.type: Schema
test_class.var_name: expectedJoinSchema
test_class.declarator: ALIAS [] = {
      "select deptName, sum(score) as total from score group by deptName",
      "select em.empId as id, sum(score) as total from employee as em inner join score using (em.deptName) group by id"
    }
test_class.modifier: static final
test_class.original_string: static final String ALIAS [] = {
      "select deptName, sum(score) as total from score group by deptName",
      "select em.empId as id, sum(score) as total from employee as em inner join score using (em.deptName) group by id"
    };
test_class.type: String
test_class.var_name: ALIAS
test_class.declarator: CREATE_TABLE [] = {
      "create external table table1 (name text, age int, earn bigint, score real) using csv with ('csv.delimiter'='|') location '/tmp/data'"
    }
test_class.modifier: static final
test_class.original_string: static final String CREATE_TABLE [] = {
      "create external table table1 (name text, age int, earn bigint, score real) using csv with ('csv.delimiter'='|') location '/tmp/data'"
    };
test_class.type: String
test_class.var_name: CREATE_TABLE
test_class.declarator: testGenerateCuboidsResult
      = Lists.newArrayList()
test_class.modifier: private static final
test_class.original_string: private static final List<Set<Column>> testGenerateCuboidsResult
      = Lists.newArrayList();
test_class.type: List<Set<Column>>
test_class.var_name: testGenerateCuboidsResult
test_class.declarator: numCubeColumns = 3
test_class.modifier: private static final
test_class.original_string: private static final int numCubeColumns = 3;
test_class.type: int
test_class.var_name: numCubeColumns
test_class.declarator: testGenerateCuboids = new Column[numCubeColumns]
test_class.modifier: private static final
test_class.original_string: private static final Column [] testGenerateCuboids = new Column[numCubeColumns];
test_class.type: Column []
test_class.var_name: testGenerateCuboids
test_class.declarator: testCubeByResult
      = Lists.newArrayList()
test_class.modifier: private static final
test_class.original_string: private static final List<Set<Column>> testCubeByResult
      = Lists.newArrayList();
test_class.type: List<Set<Column>>
test_class.var_name: testCubeByResult
test_class.declarator: testCubeByCuboids = new Column[2]
test_class.modifier: private static final
test_class.original_string: private static final Column [] testCubeByCuboids = new Column[2];
test_class.type: Column []
test_class.var_name: testCubeByCuboids
test_class.declarator: setStatements [] = {
      "select deptName from employee where deptName like 'data%' union select deptName from score where deptName like 'data%'",
    }
test_class.modifier: static final
test_class.original_string: static final String setStatements [] = {
      "select deptName from employee where deptName like 'data%' union select deptName from score where deptName like 'data%'",
    };
test_class.type: String
test_class.var_name: setStatements
test_class.declarator: setQualifiers = {
      "select name, empid from employee",
      "select distinct name, empid from employee",
      "select all name, empid from employee",
    }
test_class.modifier: static final
test_class.original_string: static final String [] setQualifiers = {
      "select name, empid from employee",
      "select distinct name, empid from employee",
      "select all name, empid from employee",
    };
test_class.type: String []
test_class.var_name: setQualifiers
test_class.declarator: insertStatements = {
        "insert into score select name from employee",                        // 0
        "insert into score select name, empid from employee",                 // 1
        "insert into employee (name, deptname) select * from dept",           // 2
        "insert into location '/tmp/data' select name, empid from employee",  // 3
        "insert overwrite into employee (name, deptname) select * from dept", // 4
        "insert overwrite into LOCATION '/tmp/data' select * from dept"       // 5
    }
test_class.modifier: static final
test_class.original_string: static final String [] insertStatements = {
        "insert into score select name from employee",                        // 0
        "insert into score select name, empid from employee",                 // 1
        "insert into employee (name, deptname) select * from dept",           // 2
        "insert into location '/tmp/data' select name, empid from employee",  // 3
        "insert overwrite into employee (name, deptname) select * from dept", // 4
        "insert overwrite into LOCATION '/tmp/data' select * from dept"       // 5
    };
test_class.type: String []
test_class.var_name: insertStatements
test_class.file: tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java
test_class.identifier: TestLogicalPlanner
test_case.body: @Test
    public final void testJson() throws PlanningException {
  	  Expr expr = sqlAnalyzer.parse(QUERIES[9]);
  	  LogicalNode plan = planner.createPlan(session, expr).getRootBlock().getRoot();
      testJsonSerDerObject(plan);
  
  	  String json = plan.toJson();
  	  LogicalNode fromJson = CoreGsonHelper.fromJson(json, LogicalNode.class);
  	  assertEquals(NodeType.ROOT, fromJson.getType());
  	  LogicalNode project = ((LogicalRootNode)fromJson).getChild();
  	  assertEquals(NodeType.PROJECTION, project.getType());
  	  assertEquals(NodeType.HAVING, ((ProjectionNode) project).getChild().getType());
      HavingNode havingNode = ((ProjectionNode) project).getChild();
      assertEquals(NodeType.GROUP_BY, havingNode.getChild().getType());
      GroupbyNode groupbyNode = havingNode.getChild();
      assertEquals(NodeType.SCAN, groupbyNode.getChild().getType());
  	  LogicalNode scan = groupbyNode.getChild();
  	  assertEquals(NodeType.SCAN, scan.getType());
    }
test_case.class_method_signature: TestLogicalPlanner.testJson()
test_case.full_signature: @Test public final void testJson()
test_case.identifier: testJson
test_case.invocations: parse getRoot getRootBlock createPlan testJsonSerDerObject toJson fromJson assertEquals getType getChild assertEquals getType assertEquals getType getChild getChild assertEquals getType getChild getChild assertEquals getType getChild getChild assertEquals getType
test_case.modifiers: @Test public final
test_case.parameters: ()
test_case.return: void
test_case.signature: void testJson()
focal_class.declarator: LOG = LogFactory.getLog(LogicalPlanner.class)
focal_class.modifier: private static
focal_class.original_string: private static Log LOG = LogFactory.getLog(LogicalPlanner.class);
focal_class.type: Log
focal_class.var_name: LOG
focal_class.declarator: catalog
focal_class.modifier: private final
focal_class.original_string: private final CatalogService catalog;
focal_class.type: CatalogService
focal_class.var_name: catalog
focal_class.declarator: preprocessor
focal_class.modifier: private final
focal_class.original_string: private final LogicalPlanPreprocessor preprocessor;
focal_class.type: LogicalPlanPreprocessor
focal_class.var_name: preprocessor
focal_class.declarator: exprAnnotator
focal_class.modifier: private final
focal_class.original_string: private final ExprAnnotator exprAnnotator;
focal_class.type: ExprAnnotator
focal_class.var_name: exprAnnotator
focal_class.declarator: normalizer
focal_class.modifier: private final
focal_class.original_string: private final ExprNormalizer normalizer;
focal_class.type: ExprNormalizer
focal_class.var_name: normalizer
focal_class.declarator: ALL= Lists.newArrayList().toArray(new Column[0])
focal_class.modifier: private static final
focal_class.original_string: private static final Column[] ALL= Lists.newArrayList().toArray(new Column[0]);
focal_class.type: Column[]
focal_class.var_name: ALL
focal_class.file: tajo-core/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java
focal_class.identifier: LogicalPlanner
focal_class.class_method_signature: LogicalPlanner.LogicalPlanner(CatalogService catalog)
focal_class.full_signature: public  LogicalPlanner(CatalogService catalog)
focal_class.identifier: LogicalPlanner
focal_class.modifiers: public
focal_class.parameters: (CatalogService catalog)
focal_class.signature:  LogicalPlanner(CatalogService catalog)
focal_class.class_method_signature: LogicalPlanner.createPlan(Session session, Expr expr)
focal_class.full_signature: public LogicalPlan createPlan(Session session, Expr expr)
focal_class.identifier: createPlan
focal_class.modifiers: public
focal_class.parameters: (Session session, Expr expr)
focal_class.return: LogicalPlan
focal_class.signature: LogicalPlan createPlan(Session session, Expr expr)
focal_class.class_method_signature: LogicalPlanner.createPlan(Session session, Expr expr, boolean debug)
focal_class.full_signature: @VisibleForTesting public LogicalPlan createPlan(Session session, Expr expr, boolean debug)
focal_class.identifier: createPlan
focal_class.modifiers: @VisibleForTesting public
focal_class.parameters: (Session session, Expr expr, boolean debug)
focal_class.return: LogicalPlan
focal_class.signature: LogicalPlan createPlan(Session session, Expr expr, boolean debug)
focal_class.class_method_signature: LogicalPlanner.getExprAnnotator()
focal_class.full_signature: public ExprAnnotator getExprAnnotator()
focal_class.identifier: getExprAnnotator
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: ExprAnnotator
focal_class.signature: ExprAnnotator getExprAnnotator()
focal_class.class_method_signature: LogicalPlanner.preHook(PlanContext context, Stack<Expr> stack, Expr expr)
focal_class.full_signature: public void preHook(PlanContext context, Stack<Expr> stack, Expr expr)
focal_class.identifier: preHook
focal_class.modifiers: public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, Expr expr)
focal_class.return: void
focal_class.signature: void preHook(PlanContext context, Stack<Expr> stack, Expr expr)
focal_class.class_method_signature: LogicalPlanner.postHook(PlanContext context, Stack<Expr> stack, Expr expr, LogicalNode current)
focal_class.full_signature: public LogicalNode postHook(PlanContext context, Stack<Expr> stack, Expr expr, LogicalNode current)
focal_class.identifier: postHook
focal_class.modifiers: public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, Expr expr, LogicalNode current)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode postHook(PlanContext context, Stack<Expr> stack, Expr expr, LogicalNode current)
focal_class.class_method_signature: LogicalPlanner.visitExplain(PlanContext ctx, Stack<Expr> stack, Explain expr)
focal_class.full_signature: public LogicalNode visitExplain(PlanContext ctx, Stack<Expr> stack, Explain expr)
focal_class.identifier: visitExplain
focal_class.modifiers: public
focal_class.parameters: (PlanContext ctx, Stack<Expr> stack, Explain expr)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitExplain(PlanContext ctx, Stack<Expr> stack, Explain expr)
focal_class.class_method_signature: LogicalPlanner.visitProjection(PlanContext context, Stack<Expr> stack, Projection projection)
focal_class.full_signature: @Override public LogicalNode visitProjection(PlanContext context, Stack<Expr> stack, Projection projection)
focal_class.identifier: visitProjection
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, Projection projection)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitProjection(PlanContext context, Stack<Expr> stack, Projection projection)
focal_class.class_method_signature: LogicalPlanner.setRawTargets(PlanContext context, Target[] targets, String[] referenceNames,
                               Projection projection)
focal_class.full_signature: private void setRawTargets(PlanContext context, Target[] targets, String[] referenceNames,
                               Projection projection)
focal_class.identifier: setRawTargets
focal_class.modifiers: private
focal_class.parameters: (PlanContext context, Target[] targets, String[] referenceNames,
                               Projection projection)
focal_class.return: void
focal_class.signature: void setRawTargets(PlanContext context, Target[] targets, String[] referenceNames,
                               Projection projection)
focal_class.class_method_signature: LogicalPlanner.insertDistinctOperator(PlanContext context, ProjectionNode projectionNode, LogicalNode child,
                                        Stack<Expr> stack)
focal_class.full_signature: private void insertDistinctOperator(PlanContext context, ProjectionNode projectionNode, LogicalNode child,
                                        Stack<Expr> stack)
focal_class.identifier: insertDistinctOperator
focal_class.modifiers: private
focal_class.parameters: (PlanContext context, ProjectionNode projectionNode, LogicalNode child,
                                        Stack<Expr> stack)
focal_class.return: void
focal_class.signature: void insertDistinctOperator(PlanContext context, ProjectionNode projectionNode, LogicalNode child,
                                        Stack<Expr> stack)
focal_class.class_method_signature: LogicalPlanner.doProjectionPrephase(PlanContext context, Projection projection)
focal_class.full_signature: private String [] doProjectionPrephase(PlanContext context, Projection projection)
focal_class.identifier: doProjectionPrephase
focal_class.modifiers: private
focal_class.parameters: (PlanContext context, Projection projection)
focal_class.return: String []
focal_class.signature: String [] doProjectionPrephase(PlanContext context, Projection projection)
focal_class.class_method_signature: LogicalPlanner.buildPlanForNoneFromStatement(PlanContext context, Stack<Expr> stack, Projection projection)
focal_class.full_signature: private EvalExprNode buildPlanForNoneFromStatement(PlanContext context, Stack<Expr> stack, Projection projection)
focal_class.identifier: buildPlanForNoneFromStatement
focal_class.modifiers: private
focal_class.parameters: (PlanContext context, Stack<Expr> stack, Projection projection)
focal_class.return: EvalExprNode
focal_class.signature: EvalExprNode buildPlanForNoneFromStatement(PlanContext context, Stack<Expr> stack, Projection projection)
focal_class.class_method_signature: LogicalPlanner.buildTargets(LogicalPlan plan, QueryBlock block, String[] referenceNames)
focal_class.full_signature: private Target [] buildTargets(LogicalPlan plan, QueryBlock block, String[] referenceNames)
focal_class.identifier: buildTargets
focal_class.modifiers: private
focal_class.parameters: (LogicalPlan plan, QueryBlock block, String[] referenceNames)
focal_class.return: Target []
focal_class.signature: Target [] buildTargets(LogicalPlan plan, QueryBlock block, String[] referenceNames)
focal_class.class_method_signature: LogicalPlanner.verifyProjectedFields(QueryBlock block, Projectable projectable)
focal_class.full_signature: public static void verifyProjectedFields(QueryBlock block, Projectable projectable)
focal_class.identifier: verifyProjectedFields
focal_class.modifiers: public static
focal_class.parameters: (QueryBlock block, Projectable projectable)
focal_class.return: void
focal_class.signature: void verifyProjectedFields(QueryBlock block, Projectable projectable)
focal_class.class_method_signature: LogicalPlanner.insertGroupbyNode(PlanContext context, LogicalNode child, Stack<Expr> stack)
focal_class.full_signature: private LogicalNode insertGroupbyNode(PlanContext context, LogicalNode child, Stack<Expr> stack)
focal_class.identifier: insertGroupbyNode
focal_class.modifiers: private
focal_class.parameters: (PlanContext context, LogicalNode child, Stack<Expr> stack)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode insertGroupbyNode(PlanContext context, LogicalNode child, Stack<Expr> stack)
focal_class.class_method_signature: LogicalPlanner.visitLimit(PlanContext context, Stack<Expr> stack, Limit limit)
focal_class.full_signature: @Override public LimitNode visitLimit(PlanContext context, Stack<Expr> stack, Limit limit)
focal_class.identifier: visitLimit
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, Limit limit)
focal_class.return: LimitNode
focal_class.signature: LimitNode visitLimit(PlanContext context, Stack<Expr> stack, Limit limit)
focal_class.class_method_signature: LogicalPlanner.visitSort(PlanContext context, Stack<Expr> stack, Sort sort)
focal_class.full_signature: @Override public SortNode visitSort(PlanContext context, Stack<Expr> stack, Sort sort)
focal_class.identifier: visitSort
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, Sort sort)
focal_class.return: SortNode
focal_class.signature: SortNode visitSort(PlanContext context, Stack<Expr> stack, Sort sort)
focal_class.class_method_signature: LogicalPlanner.visitHaving(PlanContext context, Stack<Expr> stack, Having expr)
focal_class.full_signature: @Override public LogicalNode visitHaving(PlanContext context, Stack<Expr> stack, Having expr)
focal_class.identifier: visitHaving
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, Having expr)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitHaving(PlanContext context, Stack<Expr> stack, Having expr)
focal_class.class_method_signature: LogicalPlanner.visitGroupBy(PlanContext context, Stack<Expr> stack, Aggregation aggregation)
focal_class.full_signature: @Override public LogicalNode visitGroupBy(PlanContext context, Stack<Expr> stack, Aggregation aggregation)
focal_class.identifier: visitGroupBy
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, Aggregation aggregation)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitGroupBy(PlanContext context, Stack<Expr> stack, Aggregation aggregation)
focal_class.class_method_signature: LogicalPlanner.generateCuboids(Column[] columns)
focal_class.full_signature: public static List<Column[]> generateCuboids(Column[] columns)
focal_class.identifier: generateCuboids
focal_class.modifiers: public static
focal_class.parameters: (Column[] columns)
focal_class.return: List<Column[]>
focal_class.signature: List<Column[]> generateCuboids(Column[] columns)
focal_class.class_method_signature: LogicalPlanner.visitFilter(PlanContext context, Stack<Expr> stack, Selection selection)
focal_class.full_signature: @Override public SelectionNode visitFilter(PlanContext context, Stack<Expr> stack, Selection selection)
focal_class.identifier: visitFilter
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, Selection selection)
focal_class.return: SelectionNode
focal_class.signature: SelectionNode visitFilter(PlanContext context, Stack<Expr> stack, Selection selection)
focal_class.class_method_signature: LogicalPlanner.visitJoin(PlanContext context, Stack<Expr> stack, Join join)
focal_class.full_signature: @Override public LogicalNode visitJoin(PlanContext context, Stack<Expr> stack, Join join)
focal_class.identifier: visitJoin
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, Join join)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitJoin(PlanContext context, Stack<Expr> stack, Join join)
focal_class.class_method_signature: LogicalPlanner.getNewlyEvaluatedExprsForJoin(LogicalPlan plan, QueryBlock block, JoinNode joinNode,
                                                     Stack<Expr> stack)
focal_class.full_signature: private List<String> getNewlyEvaluatedExprsForJoin(LogicalPlan plan, QueryBlock block, JoinNode joinNode,
                                                     Stack<Expr> stack)
focal_class.identifier: getNewlyEvaluatedExprsForJoin
focal_class.modifiers: private
focal_class.parameters: (LogicalPlan plan, QueryBlock block, JoinNode joinNode,
                                                     Stack<Expr> stack)
focal_class.return: List<String>
focal_class.signature: List<String> getNewlyEvaluatedExprsForJoin(LogicalPlan plan, QueryBlock block, JoinNode joinNode,
                                                     Stack<Expr> stack)
focal_class.class_method_signature: LogicalPlanner.getNaturalJoinSchema(LogicalNode left, LogicalNode right)
focal_class.full_signature: private static Schema getNaturalJoinSchema(LogicalNode left, LogicalNode right)
focal_class.identifier: getNaturalJoinSchema
focal_class.modifiers: private static
focal_class.parameters: (LogicalNode left, LogicalNode right)
focal_class.return: Schema
focal_class.signature: Schema getNaturalJoinSchema(LogicalNode left, LogicalNode right)
focal_class.class_method_signature: LogicalPlanner.getNaturalJoinCondition(JoinNode joinNode)
focal_class.full_signature: private static EvalNode getNaturalJoinCondition(JoinNode joinNode)
focal_class.identifier: getNaturalJoinCondition
focal_class.modifiers: private static
focal_class.parameters: (JoinNode joinNode)
focal_class.return: EvalNode
focal_class.signature: EvalNode getNaturalJoinCondition(JoinNode joinNode)
focal_class.class_method_signature: LogicalPlanner.createCartesianProduct(PlanContext context, LogicalNode left, LogicalNode right)
focal_class.full_signature: private LogicalNode createCartesianProduct(PlanContext context, LogicalNode left, LogicalNode right)
focal_class.identifier: createCartesianProduct
focal_class.modifiers: private
focal_class.parameters: (PlanContext context, LogicalNode left, LogicalNode right)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode createCartesianProduct(PlanContext context, LogicalNode left, LogicalNode right)
focal_class.class_method_signature: LogicalPlanner.visitRelationList(PlanContext context, Stack<Expr> stack, RelationList relations)
focal_class.full_signature: @Override public LogicalNode visitRelationList(PlanContext context, Stack<Expr> stack, RelationList relations)
focal_class.identifier: visitRelationList
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, RelationList relations)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitRelationList(PlanContext context, Stack<Expr> stack, RelationList relations)
focal_class.class_method_signature: LogicalPlanner.visitRelation(PlanContext context, Stack<Expr> stack, Relation expr)
focal_class.full_signature: @Override public ScanNode visitRelation(PlanContext context, Stack<Expr> stack, Relation expr)
focal_class.identifier: visitRelation
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, Relation expr)
focal_class.return: ScanNode
focal_class.signature: ScanNode visitRelation(PlanContext context, Stack<Expr> stack, Relation expr)
focal_class.class_method_signature: LogicalPlanner.createFieldTargetsFromRelation(QueryBlock block, RelationNode relationNode,
                                                        Set<String> newlyEvaluatedRefNames)
focal_class.full_signature: private static LinkedHashSet<Target> createFieldTargetsFromRelation(QueryBlock block, RelationNode relationNode,
                                                        Set<String> newlyEvaluatedRefNames)
focal_class.identifier: createFieldTargetsFromRelation
focal_class.modifiers: private static
focal_class.parameters: (QueryBlock block, RelationNode relationNode,
                                                        Set<String> newlyEvaluatedRefNames)
focal_class.return: LinkedHashSet<Target>
focal_class.signature: LinkedHashSet<Target> createFieldTargetsFromRelation(QueryBlock block, RelationNode relationNode,
                                                        Set<String> newlyEvaluatedRefNames)
focal_class.class_method_signature: LogicalPlanner.updatePhysicalInfo(TableDesc desc)
focal_class.full_signature: private void updatePhysicalInfo(TableDesc desc)
focal_class.identifier: updatePhysicalInfo
focal_class.modifiers: private
focal_class.parameters: (TableDesc desc)
focal_class.return: void
focal_class.signature: void updatePhysicalInfo(TableDesc desc)
focal_class.class_method_signature: LogicalPlanner.visitTableSubQuery(PlanContext context, Stack<Expr> stack, TablePrimarySubQuery expr)
focal_class.full_signature: public TableSubQueryNode visitTableSubQuery(PlanContext context, Stack<Expr> stack, TablePrimarySubQuery expr)
focal_class.identifier: visitTableSubQuery
focal_class.modifiers: public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, TablePrimarySubQuery expr)
focal_class.return: TableSubQueryNode
focal_class.signature: TableSubQueryNode visitTableSubQuery(PlanContext context, Stack<Expr> stack, TablePrimarySubQuery expr)
focal_class.class_method_signature: LogicalPlanner.visitUnion(PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.full_signature: @Override public LogicalNode visitUnion(PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.identifier: visitUnion
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitUnion(PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.class_method_signature: LogicalPlanner.visitExcept(PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.full_signature: @Override public LogicalNode visitExcept(PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.identifier: visitExcept
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitExcept(PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.class_method_signature: LogicalPlanner.visitIntersect(PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.full_signature: @Override public LogicalNode visitIntersect(PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.identifier: visitIntersect
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitIntersect(PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.class_method_signature: LogicalPlanner.buildSetPlan(PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.full_signature: private LogicalNode buildSetPlan(PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.identifier: buildSetPlan
focal_class.modifiers: private
focal_class.parameters: (PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode buildSetPlan(PlanContext context, Stack<Expr> stack, SetOperation setOperation)
focal_class.class_method_signature: LogicalPlanner.visitInsert(PlanContext context, Stack<Expr> stack, Insert expr)
focal_class.full_signature: public LogicalNode visitInsert(PlanContext context, Stack<Expr> stack, Insert expr)
focal_class.identifier: visitInsert
focal_class.modifiers: public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, Insert expr)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitInsert(PlanContext context, Stack<Expr> stack, Insert expr)
focal_class.class_method_signature: LogicalPlanner.buildInsertIntoTablePlan(PlanContext context, InsertNode insertNode, Insert expr)
focal_class.full_signature: private InsertNode buildInsertIntoTablePlan(PlanContext context, InsertNode insertNode, Insert expr)
focal_class.identifier: buildInsertIntoTablePlan
focal_class.modifiers: private
focal_class.parameters: (PlanContext context, InsertNode insertNode, Insert expr)
focal_class.return: InsertNode
focal_class.signature: InsertNode buildInsertIntoTablePlan(PlanContext context, InsertNode insertNode, Insert expr)
focal_class.class_method_signature: LogicalPlanner.buildProjectedInsert(InsertNode insertNode)
focal_class.full_signature: private void buildProjectedInsert(InsertNode insertNode)
focal_class.identifier: buildProjectedInsert
focal_class.modifiers: private
focal_class.parameters: (InsertNode insertNode)
focal_class.return: void
focal_class.signature: void buildProjectedInsert(InsertNode insertNode)
focal_class.class_method_signature: LogicalPlanner.buildInsertIntoLocationPlan(PlanContext context, InsertNode insertNode, Insert expr)
focal_class.full_signature: private InsertNode buildInsertIntoLocationPlan(PlanContext context, InsertNode insertNode, Insert expr)
focal_class.identifier: buildInsertIntoLocationPlan
focal_class.modifiers: private
focal_class.parameters: (PlanContext context, InsertNode insertNode, Insert expr)
focal_class.return: InsertNode
focal_class.signature: InsertNode buildInsertIntoLocationPlan(PlanContext context, InsertNode insertNode, Insert expr)
focal_class.class_method_signature: LogicalPlanner.visitCreateDatabase(PlanContext context, Stack<Expr> stack, CreateDatabase expr)
focal_class.full_signature: @Override public LogicalNode visitCreateDatabase(PlanContext context, Stack<Expr> stack, CreateDatabase expr)
focal_class.identifier: visitCreateDatabase
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, CreateDatabase expr)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitCreateDatabase(PlanContext context, Stack<Expr> stack, CreateDatabase expr)
focal_class.class_method_signature: LogicalPlanner.visitDropDatabase(PlanContext context, Stack<Expr> stack, DropDatabase expr)
focal_class.full_signature: @Override public LogicalNode visitDropDatabase(PlanContext context, Stack<Expr> stack, DropDatabase expr)
focal_class.identifier: visitDropDatabase
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, DropDatabase expr)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitDropDatabase(PlanContext context, Stack<Expr> stack, DropDatabase expr)
focal_class.class_method_signature: LogicalPlanner.visitCreateTable(PlanContext context, Stack<Expr> stack, CreateTable expr)
focal_class.full_signature: @Override public LogicalNode visitCreateTable(PlanContext context, Stack<Expr> stack, CreateTable expr)
focal_class.identifier: visitCreateTable
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, CreateTable expr)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitCreateTable(PlanContext context, Stack<Expr> stack, CreateTable expr)
focal_class.class_method_signature: LogicalPlanner.getPartitionMethod(PlanContext context,
                                                   String tableName,
                                                   CreateTable.PartitionMethodDescExpr expr)
focal_class.full_signature: private PartitionMethodDesc getPartitionMethod(PlanContext context,
                                                   String tableName,
                                                   CreateTable.PartitionMethodDescExpr expr)
focal_class.identifier: getPartitionMethod
focal_class.modifiers: private
focal_class.parameters: (PlanContext context,
                                                   String tableName,
                                                   CreateTable.PartitionMethodDescExpr expr)
focal_class.return: PartitionMethodDesc
focal_class.signature: PartitionMethodDesc getPartitionMethod(PlanContext context,
                                                   String tableName,
                                                   CreateTable.PartitionMethodDescExpr expr)
focal_class.class_method_signature: LogicalPlanner.convertColumnsToSchema(ColumnDefinition[] elements)
focal_class.full_signature: private Schema convertColumnsToSchema(ColumnDefinition[] elements)
focal_class.identifier: convertColumnsToSchema
focal_class.modifiers: private
focal_class.parameters: (ColumnDefinition[] elements)
focal_class.return: Schema
focal_class.signature: Schema convertColumnsToSchema(ColumnDefinition[] elements)
focal_class.class_method_signature: LogicalPlanner.convertTableElementsSchema(ColumnDefinition[] elements)
focal_class.full_signature: private Schema convertTableElementsSchema(ColumnDefinition[] elements)
focal_class.identifier: convertTableElementsSchema
focal_class.modifiers: private
focal_class.parameters: (ColumnDefinition[] elements)
focal_class.return: Schema
focal_class.signature: Schema convertTableElementsSchema(ColumnDefinition[] elements)
focal_class.class_method_signature: LogicalPlanner.convertColumn(ColumnDefinition columnDefinition)
focal_class.full_signature: private Column convertColumn(ColumnDefinition columnDefinition)
focal_class.identifier: convertColumn
focal_class.modifiers: private
focal_class.parameters: (ColumnDefinition columnDefinition)
focal_class.return: Column
focal_class.signature: Column convertColumn(ColumnDefinition columnDefinition)
focal_class.class_method_signature: LogicalPlanner.convertDataType(DataTypeExpr dataType)
focal_class.full_signature: static TajoDataTypes.DataType convertDataType(DataTypeExpr dataType)
focal_class.identifier: convertDataType
focal_class.modifiers: static
focal_class.parameters: (DataTypeExpr dataType)
focal_class.return: TajoDataTypes.DataType
focal_class.signature: TajoDataTypes.DataType convertDataType(DataTypeExpr dataType)
focal_class.class_method_signature: LogicalPlanner.visitDropTable(PlanContext context, Stack<Expr> stack, DropTable dropTable)
focal_class.full_signature: @Override public LogicalNode visitDropTable(PlanContext context, Stack<Expr> stack, DropTable dropTable)
focal_class.identifier: visitDropTable
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, DropTable dropTable)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitDropTable(PlanContext context, Stack<Expr> stack, DropTable dropTable)
focal_class.class_method_signature: LogicalPlanner.visitAlterTablespace(PlanContext context, Stack<Expr> stack, AlterTablespace alterTablespace)
focal_class.full_signature: public LogicalNode visitAlterTablespace(PlanContext context, Stack<Expr> stack, AlterTablespace alterTablespace)
focal_class.identifier: visitAlterTablespace
focal_class.modifiers: public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, AlterTablespace alterTablespace)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitAlterTablespace(PlanContext context, Stack<Expr> stack, AlterTablespace alterTablespace)
focal_class.class_method_signature: LogicalPlanner.visitAlterTable(PlanContext context, Stack<Expr> stack, AlterTable alterTable)
focal_class.full_signature: @Override public LogicalNode visitAlterTable(PlanContext context, Stack<Expr> stack, AlterTable alterTable)
focal_class.identifier: visitAlterTable
focal_class.modifiers: @Override public
focal_class.parameters: (PlanContext context, Stack<Expr> stack, AlterTable alterTable)
focal_class.return: LogicalNode
focal_class.signature: LogicalNode visitAlterTable(PlanContext context, Stack<Expr> stack, AlterTable alterTable)
focal_class.class_method_signature: LogicalPlanner.checkIfBeEvaluatedAtGroupBy(EvalNode evalNode, GroupbyNode node)
focal_class.full_signature: public static boolean checkIfBeEvaluatedAtGroupBy(EvalNode evalNode, GroupbyNode node)
focal_class.identifier: checkIfBeEvaluatedAtGroupBy
focal_class.modifiers: public static
focal_class.parameters: (EvalNode evalNode, GroupbyNode node)
focal_class.return: boolean
focal_class.signature: boolean checkIfBeEvaluatedAtGroupBy(EvalNode evalNode, GroupbyNode node)
focal_class.class_method_signature: LogicalPlanner.checkIfBeEvaluatedAtJoin(QueryBlock block, EvalNode evalNode, JoinNode node,
                                                   boolean isTopMostJoin)
focal_class.full_signature: public static boolean checkIfBeEvaluatedAtJoin(QueryBlock block, EvalNode evalNode, JoinNode node,
                                                   boolean isTopMostJoin)
focal_class.identifier: checkIfBeEvaluatedAtJoin
focal_class.modifiers: public static
focal_class.parameters: (QueryBlock block, EvalNode evalNode, JoinNode node,
                                                   boolean isTopMostJoin)
focal_class.return: boolean
focal_class.signature: boolean checkIfBeEvaluatedAtJoin(QueryBlock block, EvalNode evalNode, JoinNode node,
                                                   boolean isTopMostJoin)
focal_class.class_method_signature: LogicalPlanner.checkIfCaseWhenWithOuterJoinBeEvaluated(QueryBlock block, EvalNode evalNode,
                                                                   boolean isTopMostJoin)
focal_class.full_signature: private static boolean checkIfCaseWhenWithOuterJoinBeEvaluated(QueryBlock block, EvalNode evalNode,
                                                                   boolean isTopMostJoin)
focal_class.identifier: checkIfCaseWhenWithOuterJoinBeEvaluated
focal_class.modifiers: private static
focal_class.parameters: (QueryBlock block, EvalNode evalNode,
                                                                   boolean isTopMostJoin)
focal_class.return: boolean
focal_class.signature: boolean checkIfCaseWhenWithOuterJoinBeEvaluated(QueryBlock block, EvalNode evalNode,
                                                                   boolean isTopMostJoin)
focal_class.class_method_signature: LogicalPlanner.checkIfBeEvaluatedAtRelation(QueryBlock block, EvalNode evalNode, RelationNode node)
focal_class.full_signature: public static boolean checkIfBeEvaluatedAtRelation(QueryBlock block, EvalNode evalNode, RelationNode node)
focal_class.identifier: checkIfBeEvaluatedAtRelation
focal_class.modifiers: public static
focal_class.parameters: (QueryBlock block, EvalNode evalNode, RelationNode node)
focal_class.return: boolean
focal_class.signature: boolean checkIfBeEvaluatedAtRelation(QueryBlock block, EvalNode evalNode, RelationNode node)
focal_class.class_method_signature: LogicalPlanner.checkIfBeEvaluatedAtThis(EvalNode evalNode, LogicalNode node)
focal_class.full_signature: public static boolean checkIfBeEvaluatedAtThis(EvalNode evalNode, LogicalNode node)
focal_class.identifier: checkIfBeEvaluatedAtThis
focal_class.modifiers: public static
focal_class.parameters: (EvalNode evalNode, LogicalNode node)
focal_class.return: boolean
focal_class.signature: boolean checkIfBeEvaluatedAtThis(EvalNode evalNode, LogicalNode node)
focal_class.superclass: extends BaseAlgebraVisitor<LogicalPlanner.PlanContext, LogicalNode>
focal_method.body: public LogicalPlan createPlan(Session session, Expr expr) throws PlanningException {
      return createPlan(session, expr, false);
    }
focal_method.class_method_signature: LogicalPlanner.createPlan(Session session, Expr expr)
focal_method.full_signature: public LogicalPlan createPlan(Session session, Expr expr)
focal_method.identifier: createPlan
focal_method.invocations: createPlan
focal_method.modifiers: public
focal_method.parameters: (Session session, Expr expr)
focal_method.return: LogicalPlan
focal_method.signature: LogicalPlan createPlan(Session session, Expr expr)