public void prepareTest(LogicalPlan plan) throws TajoException { // Plan shape fixer shapeFixerContext.reset(); shapeFixer.visit(shapeFixerContext, plan, plan.getRootBlock()); }
public void prepareTest(LogicalPlan plan) throws TajoException { // Plan shape fixer shapeFixerContext.reset(); shapeFixer.visit(shapeFixerContext, plan, plan.getRootBlock()); }
public VerificationState verify(VerificationState state, LogicalPlan plan) throws TajoException { Context context = new Context(state); visit(context, plan, plan.getRootBlock()); return context.state; }
public VerificationState verify(long broadcastThresholdForCrossJoin, VerificationState state, LogicalPlan plan) throws TajoException { Context context = new Context(state, broadcastThresholdForCrossJoin); visit(context, plan, plan.getRootBlock()); return context.state; }
@Override public boolean isEligible(QueryContext queryContext, LogicalPlan plan) { LogicalRootNode rootNode = plan.getRootBlock().getRoot(); return rootNode.getChild().getType() == NodeType.CREATE_TABLE; }
@Override public LogicalPlan rewrite(LogicalPlanRewriteRuleContext context) throws TajoException { LogicalPlan plan = context.getPlan(); LogicalPlan.QueryBlock rootBlock = plan.getRootBlock(); rewriter.visit(context.getQueryContext(), plan, rootBlock, rootBlock.getRoot(), new Stack<LogicalNode>()); return plan; }
@Override public boolean isEligible(QueryContext queryContext, LogicalPlan plan) { LogicalRootNode rootNode = plan.getRootBlock().getRoot(); return rootNode.getChild().getType() == NodeType.CREATE_TABLE; }
@Override public LogicalPlan rewrite(LogicalPlanRewriteRuleContext context) throws TajoException { LogicalPlan plan = context.getPlan(); LogicalNode root = plan.getRootBlock().getRoot(); PlanProto.LogicalNodeTree serialized = LogicalNodeSerializer.serialize(plan.getRootBlock().getRoot()); LogicalNode deserialized = LogicalNodeDeserializer.deserialize(context.getQueryContext(), null, serialized); assert root.deepEquals(deserialized); return plan; } }
@Override public LogicalPlan rewrite(LogicalPlanRewriteRuleContext context) throws TajoException { rewriter.visit(null, context.getPlan(), context.getPlan().getRootBlock()); return context.getPlan(); }
@Override public LogicalPlan rewrite(LogicalPlanRewriteRuleContext context) throws TajoException { rewriter.visit(null, context.getPlan(), context.getPlan().getRootBlock()); return context.getPlan(); }
@Override public LogicalPlan rewrite(LogicalPlanRewriteRuleContext context) throws TajoException { LogicalPlan plan = context.getPlan(); LogicalPlan.QueryBlock rootBlock = plan.getRootBlock(); Rewriter r = new Rewriter(context.getQueryContext(), context.getStorage()); r.visit(rootBlock, plan, rootBlock, rootBlock.getRoot(), new Stack<LogicalNode>()); return plan; }
@Override public boolean isEligible(LogicalPlanRewriteRuleContext context) { boolean hbaseMode = "false".equalsIgnoreCase(context.getQueryContext().get(HBaseStorageConstants.INSERT_PUT_MODE, "false")); LogicalRootNode rootNode = context.getPlan().getRootBlock().getRoot(); LogicalNode node = rootNode.getChild(); return hbaseMode && node.getType() == NodeType.CREATE_TABLE || node.getType() == NodeType.INSERT; }
private void handleQueryFailure(Query query, Stage lastStage) { QueryContext context = query.context.getQueryContext(); if (lastStage != null && context.hasOutputTableUri()) { Tablespace space = TablespaceManager.get(context.getOutputTableUri()); try { LogicalRootNode rootNode = lastStage.getMasterPlan().getLogicalPlan().getRootBlock().getRoot(); space.rollbackTable(rootNode.getChild()); } catch (Throwable e) { LOG.warn(query.getId() + ", failed processing cleanup storage when query failed:" + e.getMessage(), e); } } }
public static List<Target> getRawTargets(String query) { LogicalPlan plan = null; try { Expr expr = analyzer.parse(query); plan = planner.createPlan(defaultContext, expr); } catch (TajoException e) { throw new RuntimeException(e); } return plan.getRootBlock().getRawTargets(); }
public static String getDataFormat(LogicalPlan plan) { LogicalRootNode rootNode = plan.getRootBlock().getRoot(); NodeType nodeType = rootNode.getChild().getType(); if (nodeType == NodeType.CREATE_TABLE) { return ((CreateTableNode)rootNode.getChild()).getStorageType(); } else if (nodeType == NodeType.INSERT) { return ((InsertNode)rootNode.getChild()).getStorageType(); } else { return null; } }
public static String getStoreTableName(LogicalPlan plan) { LogicalRootNode rootNode = plan.getRootBlock().getRoot(); NodeType nodeType = rootNode.getChild().getType(); if (nodeType == NodeType.CREATE_TABLE) { return ((CreateTableNode)rootNode.getChild()).getTableName(); } else if (nodeType == NodeType.INSERT) { return ((InsertNode)rootNode.getChild()).getTableName(); } else { return null; } }
public static String getDataFormat(LogicalPlan plan) { LogicalRootNode rootNode = plan.getRootBlock().getRoot(); NodeType nodeType = rootNode.getChild().getType(); if (nodeType == NodeType.CREATE_TABLE) { return ((CreateTableNode)rootNode.getChild()).getStorageType(); } else if (nodeType == NodeType.INSERT) { return ((InsertNode)rootNode.getChild()).getStorageType(); } else { return null; } }
public static EvalNode getRootSelection(String query) throws TajoException { Expr block = analyzer.parse(query); LogicalPlan plan = planner.createPlan(defaultContext, block); LogicalPlanner.PlanContext context = new LogicalPlanner.PlanContext(defaultContext, plan, plan.getRootBlock(), new EvalTreeOptimizer(), true); Selection selection = plan.getRootBlock().getSingletonExpr(OpType.Filter); return planner.getExprAnnotator().createEvalNode(context, selection.getQual(), NameResolvingMode.RELS_AND_SUBEXPRS); }
private static InsertNode getInsertNode(LogicalPlan plan) { LogicalRootNode root = plan.getRootBlock().getRoot(); assertEquals(NodeType.INSERT, root.getChild().getType()); return root.getChild(); }
@Test public final void testStoreTable() throws CloneNotSupportedException, TajoException { QueryContext qc = createQueryContext(); Expr context = sqlAnalyzer.parse(QUERIES[8]); LogicalNode plan = planner.createPlan(qc, context).getRootBlock().getRoot(); testCloneLogicalNode(plan); assertEquals(NodeType.ROOT, plan.getType()); LogicalRootNode root = (LogicalRootNode) plan; assertEquals(NodeType.CREATE_TABLE, root.getChild().getType()); StoreTableNode storeNode = root.getChild(); testQuery7(storeNode.getChild()); }