Package com.facebook.presto.spi

Examples of com.facebook.presto.spi.Page


        // pull remaining output pages
        while (true) {
            // at this point the operator should not need more input
            assertEquals(operator.needsInput(), false);

            Page outputPage = operator.getOutput();
            if (outputPage == null) {
                break;
            }
            outputPages.add(outputPage);
        }
View Full Code Here


        return (long) result;
    }

    private Page createPage(List<Object> values)
    {
        Page page;
        if (values.isEmpty()) {
            page = new Page(0);
        }
        else {
            page = new Page(values.size(), createBlock(values));
        }
        return page;
    }
View Full Code Here

    {
        if (positions == 0) {
            assertAggregation(function, confidence, expectedValue);
        }
        else {
            assertAggregation(function, confidence, expectedValue, new Page(positions, blocks));
        }
    }
View Full Code Here

    // Adds the mask as the last channel
    private static Page[] maskPages(boolean maskValue, Page... pages)
    {
        Page[] maskedPages = new Page[pages.length];
        for (int i = 0; i < pages.length; i++) {
            Page page = pages[i];
            BlockBuilder blockBuilder = BOOLEAN.createBlockBuilder(new BlockBuilderStatus());
            for (int j = 0; j < page.getPositionCount(); j++) {
                BOOLEAN.writeBoolean(blockBuilder, maskValue);
            }
            Block[] sourceBlocks = page.getBlocks();
            Block[] outputBlocks = new Block[sourceBlocks.length + 1]; // +1 for the single boolean output channel

            System.arraycopy(sourceBlocks, 0, outputBlocks, 0, sourceBlocks.length);
            outputBlocks[sourceBlocks.length] = blockBuilder.build();

            maskedPages[i] = new Page(outputBlocks);
        }

        return maskedPages;
    }
View Full Code Here

    private static Page[] reverseColumns(Page[] pages)
    {
        Page[] newPages = new Page[pages.length];
        for (int i = 0; i < pages.length; i++) {
            Page page = pages[i];
            if (page.getPositionCount() == 0) {
                newPages[i] = page;
            }
            else {
                Block[] newBlocks = Arrays.copyOf(page.getBlocks(), page.getChannelCount());
                Collections.reverse(Arrays.asList(newBlocks));
                newPages[i] = new Page(page.getPositionCount(), newBlocks);
            }
        }
        return newPages;
    }
View Full Code Here

    private static Page[] offsetColumns(Page[] pages, int offset)
    {
        Page[] newPages = new Page[pages.length];
        for (int i = 0; i < pages.length; i++) {
            Page page = pages[i];
            if (page.getPositionCount() == 0) {
                newPages[i] = page;
            }
            else {
                Block[] newBlocks = new Block[page.getChannelCount() + offset];
                for (int channel = 0; channel < offset; channel++) {
                    newBlocks[channel] = createNullRLEBlock(page.getPositionCount());
                }
                for (int channel = 0; channel < page.getBlocks().length; channel++) {
                    newBlocks[channel + offset] = page.getBlocks()[channel];
                }
                newPages[i] = new Page(page.getPositionCount(), newBlocks);
            }
        }
        return newPages;
    }
View Full Code Here

                        new Double[] {null, -1.0}));
    }

    private static Page createPage(Double[] values, Double[] keys)
    {
        return new Page(createDoublesBlock(values), createDoublesBlock(keys));
    }
View Full Code Here

        return new Page(createDoublesBlock(values), createDoublesBlock(keys));
    }

    private static Page createPage(String[] values, Double[] keys)
    {
        return new Page(createStringsBlock(values), createDoublesBlock(keys));
    }
View Full Code Here

            valuesBlock = createDoublesBlock(values);
            int positionCount = values.length;
            percentilesBlock = createRLEBlock(percentile, positionCount);
        }

        return new Page(valuesBlock, percentilesBlock);
    }
View Full Code Here

        else {
            valuesBlock = createLongsBlock(values);
            percentilesBlock = createRLEBlock(percentile, values.length);
        }

        return new Page(valuesBlock, percentilesBlock);
    }
View Full Code Here

TOP

Related Classes of com.facebook.presto.spi.Page

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.