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 void testSetQualifier() throws PlanningException {
      Expr context = sqlAnalyzer.parse(setQualifiers[0]);
      LogicalNode plan = planner.createPlan(session, context).getRootBlock().getRoot();
      testJsonSerDerObject(plan);
      assertEquals(NodeType.ROOT, plan.getType());
      LogicalRootNode root = (LogicalRootNode) plan;
      assertEquals(NodeType.PROJECTION, root.getChild().getType());
      ProjectionNode projectionNode = root.getChild();
      assertEquals(NodeType.SCAN, projectionNode.getChild().getType());
  
      context = sqlAnalyzer.parse(setQualifiers[1]);
      plan = planner.createPlan(session, context).getRootBlock().getRoot();
      testJsonSerDerObject(plan);
      assertEquals(NodeType.ROOT, plan.getType());
      root = (LogicalRootNode) plan;
      assertEquals(NodeType.PROJECTION, root.getChild().getType());
      projectionNode = root.getChild();
      assertEquals(NodeType.GROUP_BY, projectionNode.getChild().getType());
  
      context = sqlAnalyzer.parse(setQualifiers[2]);
      plan = planner.createPlan(session, context).getRootBlock().getRoot();
      testJsonSerDerObject(plan);
      root = (LogicalRootNode) plan;
      assertEquals(NodeType.PROJECTION, root.getChild().getType());
      projectionNode = root.getChild();
      assertEquals(NodeType.SCAN, projectionNode.getChild().getType());
    }
test_case.class_method_signature: TestLogicalPlanner.testSetQualifier()
test_case.full_signature: @Test public void testSetQualifier()
test_case.identifier: testSetQualifier
test_case.invocations: parse getRoot getRootBlock createPlan testJsonSerDerObject assertEquals getType assertEquals getType getChild getChild assertEquals getType getChild parse getRoot getRootBlock createPlan testJsonSerDerObject assertEquals getType assertEquals getType getChild getChild assertEquals getType getChild parse getRoot getRootBlock createPlan testJsonSerDerObject assertEquals getType getChild getChild assertEquals getType getChild
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSetQualifier()
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)