Package org.voltdb.plannodes

Examples of org.voltdb.plannodes.DistinctPlanNode


        } else if (node instanceof DeletePlanNode) {
            sb.append(inner_spacer).append("Truncate[" + ((DeletePlanNode) node).isTruncate() + "\n");

            // DistinctPlanNode
        } else if (node instanceof DistinctPlanNode) {
            DistinctPlanNode dist_node = (DistinctPlanNode) node;
            PlanColumn col = PlannerContext.singleton().get(dist_node.getDistinctColumnGuid());
            sb.append(inner_spacer).append("DistinctColumn[" + col + "]\n");

            // IndexScanPlanNode
        } else if (node instanceof IndexScanPlanNode) {
            IndexScanPlanNode cast_node = (IndexScanPlanNode) node;
View Full Code Here


        assertNotNull(root);
       
        // Make sure that the DistinctPlanNode's target column is OL_I_ID
        Collection<DistinctPlanNode> dist_nodes = PlanNodeUtil.getPlanNodes(root, DistinctPlanNode.class);
        assertEquals(1, dist_nodes.size());
        DistinctPlanNode dist_node = CollectionUtil.first(dist_nodes);
        assertNotNull(dist_node);
       
        int col_guid = dist_node.getDistinctColumnGuid();
        PlanColumn pc = PlannerContext.singleton().get(col_guid);
        assertNotNull(pc);
        assertEquals("OL_I_ID", pc.getDisplayName());
    }
View Full Code Here

    //                } // FOR
    //                break;
    //            }
                case DISTINCT: {
                    // Make sure the DISTINCT column is in the output columns
                    DistinctPlanNode cast_node = (DistinctPlanNode)node;
                    Integer distinct_col = cast_node.getDistinctColumnGuid();
                    assertTrue(String.format("%s is missing DISTINCT PlanColumn GUID %d in its output columns", cast_node, distinct_col),
                              cast_node.getOutputColumnGUIDs().contains(distinct_col));
                   
                    break;
                }
                case HASHAGGREGATE:
                case AGGREGATE: {
                    // Every PlanColumn referenced in this node must appear in its children's output
                    Collection<Integer> planCols = node.getOutputColumnGUIDs();
                    assert(planCols != null);
                   
//                    System.err.println(PlanNodeUtil.debugNode(node));
                    AggregatePlanNode cast_node = (AggregatePlanNode)node;
                    assertEquals(cast_node.toString(), cast_node.getAggregateTypes().size(), cast_node.getAggregateColumnGuids().size());
                    assertEquals(cast_node.toString(), cast_node.getAggregateTypes().size(), cast_node.getAggregateColumnNames().size());
                    assertEquals(cast_node.toString(), cast_node.getAggregateTypes().size(), cast_node.getAggregateOutputColumns().size());
                   
                   
//                    Set<Integer> foundCols = new HashSet<Integer>();
//                    for (AbstractPlanNode child : node.getChildren()) {
//                        Collection<Integer> childCols = PlanNodeUtil.getOutputColumnIdsForPlanNode(child);
View Full Code Here

            distinct_parent.addAndLinkChild(receive);
            send.addIntermediary(distinct);
        }
        else {
            assert(distinct.isInline() == false);
            DistinctPlanNode new_distinct = ((DistinctPlanNode)distinct).produceCopyForTransformation();
            send.addIntermediary(new_distinct);
        }
        return true;
    }
View Full Code Here

    }

    AbstractPlanNode addDistinctNode(AbstractPlanNode root,
                                     TupleValueExpression expr)
    {
        DistinctPlanNode distinctNode = new DistinctPlanNode(m_context, getNextPlanNodeId());
        distinctNode.setDistinctColumnName(expr.getColumnAlias());

        PlanColumn distinctColumn =
            root.findMatchingOutputColumn(expr.getTableName(),
                                          expr.getColumnName(),
                                          expr.getColumnAlias());
        distinctNode.setDistinctColumnGuid(distinctColumn.guid());

        distinctNode.addAndLinkChild(root);
        distinctNode.updateOutputColumns(m_catalogDb);
        return distinctNode;
    }
View Full Code Here

     * @param expr The distinct expression
     * @return The new root node.
     */
    private static AbstractPlanNode addDistinctNode(AbstractPlanNode root, AbstractExpression expr)
    {
        DistinctPlanNode distinctNode = new DistinctPlanNode();
        distinctNode.setDistinctExpression(expr);
        distinctNode.addAndLinkChild(root);
        return distinctNode;
    }
View Full Code Here

TOP

Related Classes of org.voltdb.plannodes.DistinctPlanNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.