Package com.facebook.presto.spi

Examples of com.facebook.presto.spi.Page


    public void testBigintSerializedSize()
    {
        BlockBuilder builder = BIGINT.createBlockBuilder(new BlockBuilderStatus());

        // empty page
        Page page = new Page(builder.build());
        int pageSize = serializedSize(ImmutableList.of(BIGINT), page);
        assertEquals(pageSize, 35); // page overhead

        // page with one value
        BIGINT.writeLong(builder, 123);
        page = new Page(builder.build());
        int firstValueSize = serializedSize(ImmutableList.of(BIGINT), page) - pageSize;
        assertEquals(firstValueSize, 9); // value size + value overhead

        // page with two values
        BIGINT.writeLong(builder, 456);
        page = new Page(builder.build());
        int secondValueSize = serializedSize(ImmutableList.of(BIGINT), page) - (pageSize + firstValueSize);
        assertEquals(secondValueSize, 8); // value size (value overhead is shared with previous value)
    }
View Full Code Here


    public void testVarcharSerializedSize()
    {
        BlockBuilder builder = VARCHAR.createBlockBuilder(new BlockBuilderStatus());

        // empty page
        Page page = new Page(builder.build());
        int pageSize = serializedSize(ImmutableList.of(VARCHAR), page);
        assertEquals(pageSize, 34); // page overhead

        // page with one value
        VARCHAR.writeString(builder, "alice");
        page = new Page(builder.build());
        int firstValueSize = serializedSize(ImmutableList.of(VARCHAR), page) - pageSize;
        assertEquals(firstValueSize, 4 + 5 + 1); // length + "alice" + null

        // page with two values
        VARCHAR.writeString(builder, "bob");
        page = new Page(builder.build());
        int secondValueSize = serializedSize(ImmutableList.of(VARCHAR), page) - (pageSize + firstValueSize);
        assertEquals(secondValueSize, + 3); // length + "bob" (null shared with first entry)
    }
View Full Code Here

                .build();

        RaptorPageSource raptorDataSource = createRaptorDataSource();
        List<Page> actual = new ArrayList<>();
        while (!raptorDataSource.isFinished()) {
            Page nextPage = raptorDataSource.getNextPage();
            if (nextPage != null) {
                actual.add(nextPage);
            }
        }
View Full Code Here

                storageManager.getBlocks(shardUuid, columnHandles.get(0)),
                storageManager.getBlocks(shardUuid, columnHandles.get(1))));

        List<Page> actualPages = new ArrayList<>();
        while (!raptorPageSource.isFinished()) {
            Page page = raptorPageSource.getNextPage();
            if (page != null) {
                actualPages.add(page);
            }
        }
        MaterializedResult actual = toMaterializedResult(session, types, actualPages);
View Full Code Here

        if (!positionCounts.hasNext()) {
            closed = true;
            return null;
        }

        return new Page(positionCounts.next());
    }
View Full Code Here

        Block[] blocks = new Block[iterators.size()];
        for (int i = 0; i < blockPositions.size(); i++) {
            blocks[i] = blockPositions.get(i).getRegionAndAdvance(length);
        }

        Page page = new Page(blocks);
        sizeInBytes += page.getSizeInBytes();
        return page;
    }
View Full Code Here

    }

    private static void importData(ConnectorPageSource source, ColumnFileHandle fileHandle)
    {
        while (!source.isFinished()) {
            Page page = source.getNextPage();
            if (page != null) {
                fileHandle.append(page);
            }
        }
    }
View Full Code Here

        @Override
        public Page getOutput()
        {
            // only return a page if the page buffer isFull or we are finishing and the page buffer has data
            if (pageBuilder.isFull() || (finishing && !pageBuilder.isEmpty())) {
                Page page = pageBuilder.build();
                pageBuilder.reset();
                return page;
            }
            return null;
        }
View Full Code Here

        ConnectorPageSource delegate = getSource();
        if (delegate == null) {
            return null;
        }

        Page page = delegate.getNextPage();
        if (page != null) {
            // update operator stats
            long endCompletedBytes = delegate.getCompletedBytes();
            long endReadTimeNanos = delegate.getReadTimeNanos();
            operatorContext.recordGeneratedInput(endCompletedBytes - completedBytes, page.getPositionCount(), endReadTimeNanos - readTimeNanos);
            completedBytes = endCompletedBytes;
            readTimeNanos = endReadTimeNanos;
        }

        return page;
View Full Code Here

        List<Page> pages = new ArrayList<>();
        long bytes = 0;

        int listOffset = Ints.checkedCast(sequenceId - masterSequenceId.get());
        while (listOffset < masterBuffer.size()) {
            Page page = masterBuffer.get(listOffset++);
            bytes += page.getSizeInBytes();
            // break (and don't add) if this page would exceed the limit
            if (!pages.isEmpty() && bytes > maxBytes) {
                break;
            }
            pages.add(page);
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.