use of io.prestosql.spi.connector.RecordCursor in project hetu-core by openlookeng.
the class TestJmxSplitManager method readTimeStampsFrom.
private List<Long> readTimeStampsFrom(RecordSet recordSet) {
ImmutableList.Builder<Long> result = ImmutableList.builder();
try (RecordCursor cursor = recordSet.cursor()) {
while (cursor.advanceNextPosition()) {
for (int i = 0; i < recordSet.getColumnTypes().size(); i++) {
cursor.isNull(i);
}
if (cursor.isNull(0)) {
return result.build();
}
assertTrue(recordSet.getColumnTypes().get(0) instanceof TimestampType);
result.add(cursor.getLong(0));
}
}
return result.build();
}
use of io.prestosql.spi.connector.RecordCursor in project hetu-core by openlookeng.
the class TestFieldSetFilteringRecordSet method test.
@Test
public void test() {
ArrayType arrayOfBigintType = new ArrayType(BIGINT);
FieldSetFilteringRecordSet fieldSetFilteringRecordSet = new FieldSetFilteringRecordSet(createTestMetadataManager().getFunctionAndTypeManager(), new InMemoryRecordSet(ImmutableList.of(BIGINT, BIGINT, TIMESTAMP_WITH_TIME_ZONE, TIMESTAMP_WITH_TIME_ZONE, arrayOfBigintType, arrayOfBigintType), ImmutableList.of(ImmutableList.of(100L, 100L, // test same time in different time zone to make sure equal check was done properly
packDateTimeWithZone(100, getTimeZoneKeyForOffset(123)), packDateTimeWithZone(100, getTimeZoneKeyForOffset(234)), // test structural type
arrayBlockOf(BIGINT, 12, 34, 56), arrayBlockOf(BIGINT, 12, 34, 56)))), ImmutableList.of(ImmutableSet.of(0, 1), ImmutableSet.of(2, 3), ImmutableSet.of(4, 5)));
RecordCursor recordCursor = fieldSetFilteringRecordSet.cursor();
assertTrue(recordCursor.advanceNextPosition());
}
use of io.prestosql.spi.connector.RecordCursor in project hetu-core by openlookeng.
the class TestFieldSetFilteringRecordSet method testMultipleFieldRecordSet.
@Test
public void testMultipleFieldRecordSet() {
ArrayType arrayOfBigintType = new ArrayType(BIGINT);
FieldSetFilteringRecordSet fieldSetFilteringRecordSet = new FieldSetFilteringRecordSet(createTestMetadataManager().getFunctionAndTypeManager(), new InMemoryRecordSet(ImmutableList.of(BIGINT, BIGINT, TIMESTAMP_WITH_TIME_ZONE, TIMESTAMP_WITH_TIME_ZONE, arrayOfBigintType, arrayOfBigintType), ImmutableList.of(ImmutableList.of(100L, 100L, // test same time in different time zone to make sure equal check was done properly
packDateTimeWithZone(100, getTimeZoneKeyForOffset(123)), packDateTimeWithZone(100, getTimeZoneKeyForOffset(234)), // test structural type
arrayBlockOf(BIGINT, 12, 34, 56), arrayBlockOf(BIGINT, 12, 34, 56)), ImmutableList.of(200L, 200L, // test same time in different time zone to make sure equal check was done properly
packDateTimeWithZone(100, getTimeZoneKeyForOffset(123)), packDateTimeWithZone(100, getTimeZoneKeyForOffset(234)), // test structural type
arrayBlockOf(BIGINT, 12, 34, 56), arrayBlockOf(BIGINT, 12, 34, 56)))), ImmutableList.of(ImmutableSet.of(0, 1), ImmutableSet.of(2, 3), ImmutableSet.of(4, 5)));
RecordCursor recordCursor = fieldSetFilteringRecordSet.cursor();
assertTrue(recordCursor.advanceNextPosition());
}
use of io.prestosql.spi.connector.RecordCursor in project hetu-core by openlookeng.
the class TestLocalFileRecordSet method assertData.
private static void assertData(LocalFileTables localFileTables, LocalFileMetadata metadata) {
LocalFileTableHandle tableHandle = new LocalFileTableHandle(LocalFileTables.HttpRequestLogTable.getSchemaTableName(), OptionalInt.of(0), OptionalInt.of(-1));
List<LocalFileColumnHandle> columnHandles = metadata.getColumnHandles(SESSION, tableHandle).values().stream().map(column -> (LocalFileColumnHandle) column).collect(Collectors.toList());
LocalFileSplit split = new LocalFileSplit(address);
RecordSet recordSet = new LocalFileRecordSet(localFileTables, split, tableHandle, columnHandles);
RecordCursor cursor = recordSet.cursor();
for (int i = 0; i < columnHandles.size(); i++) {
assertEquals(cursor.getType(i), columnHandles.get(i).getColumnType());
}
// test one row
assertTrue(cursor.advanceNextPosition());
assertEquals(cursor.getSlice(0).toStringUtf8(), address.toString());
assertEquals(cursor.getSlice(2).toStringUtf8(), "127.0.0.1");
assertEquals(cursor.getSlice(3).toStringUtf8(), "POST");
assertEquals(cursor.getSlice(4).toStringUtf8(), "/v1/memory");
assertTrue(cursor.isNull(5));
assertTrue(cursor.isNull(6));
assertEquals(cursor.getLong(7), 200);
assertEquals(cursor.getLong(8), 0);
assertEquals(cursor.getLong(9), 1000);
assertEquals(cursor.getLong(10), 10);
assertTrue(cursor.isNull(11));
assertTrue(cursor.advanceNextPosition());
assertEquals(cursor.getSlice(0).toStringUtf8(), address.toString());
assertEquals(cursor.getSlice(2).toStringUtf8(), "127.0.0.1");
assertEquals(cursor.getSlice(3).toStringUtf8(), "GET");
assertEquals(cursor.getSlice(4).toStringUtf8(), "/v1/service/presto/general");
assertEquals(cursor.getSlice(5).toStringUtf8(), "foo");
assertEquals(cursor.getSlice(6).toStringUtf8(), "ffffffff-ffff-ffff-ffff-ffffffffffff");
assertEquals(cursor.getLong(7), 200);
assertEquals(cursor.getLong(8), 0);
assertEquals(cursor.getLong(9), 37);
assertEquals(cursor.getLong(10), 1094);
assertEquals(cursor.getSlice(11).toStringUtf8(), "a7229d56-5cbd-4e23-81ff-312ba6be0f12");
}
use of io.prestosql.spi.connector.RecordCursor in project hetu-core by openlookeng.
the class AbstractTestHive method assertPageSourceType.
protected static void assertPageSourceType(ConnectorPageSource connectorPageSource, HiveStorageFormat hiveStorageFormat) {
ConnectorPageSource pageSource = connectorPageSource;
if (pageSource instanceof OrcConcatPageSource) {
pageSource = ((OrcConcatPageSource) pageSource).getConnectorPageSource();
}
if (pageSource instanceof RecordPageSource) {
RecordCursor hiveRecordCursor = ((RecordPageSource) pageSource).getCursor();
hiveRecordCursor = ((HiveRecordCursor) hiveRecordCursor).getRegularColumnRecordCursor();
if (hiveRecordCursor instanceof HiveCoercionRecordCursor) {
hiveRecordCursor = ((HiveCoercionRecordCursor) hiveRecordCursor).getRegularColumnRecordCursor();
}
assertInstanceOf(hiveRecordCursor, recordCursorType(hiveStorageFormat), hiveStorageFormat.name());
} else {
assertInstanceOf(((HivePageSource) pageSource).getPageSource(), pageSourceType(hiveStorageFormat), hiveStorageFormat.name());
}
}
Aggregations