use of io.prestosql.execution.Input in project hetu-core by openlookeng.
the class QueryMonitor method getQueryIOMetadata.
private static QueryIOMetadata getQueryIOMetadata(QueryInfo queryInfo) {
ImmutableList.Builder<QueryInputMetadata> inputs = ImmutableList.builder();
for (Input input : queryInfo.getInputs()) {
inputs.add(new QueryInputMetadata(input.getCatalogName().getCatalogName(), input.getSchema(), input.getTable(), input.getColumns().stream().map(Column::getName).collect(Collectors.toList()), input.getConnectorInfo()));
}
Optional<QueryOutputMetadata> output = Optional.empty();
if (queryInfo.getOutput().isPresent()) {
Optional<TableFinishInfo> tableFinishInfo = queryInfo.getQueryStats().getOperatorSummaries().stream().map(OperatorStats::getInfo).filter(TableFinishInfo.class::isInstance).map(TableFinishInfo.class::cast).findFirst();
output = Optional.of(new QueryOutputMetadata(queryInfo.getOutput().get().getCatalogName().getCatalogName(), queryInfo.getOutput().get().getSchema(), queryInfo.getOutput().get().getTable(), tableFinishInfo.map(TableFinishInfo::getConnectorOutputMetadata), tableFinishInfo.map(TableFinishInfo::isJsonLengthLimitExceeded)));
}
return new QueryIOMetadata(inputs.build(), output);
}
use of io.prestosql.execution.Input in project hetu-core by openlookeng.
the class InputExtractor method createInput.
private Input createInput(Session session, TableHandle table, Set<Column> columns) {
SchemaTableName schemaTable = metadata.getTableMetadata(session, table).getTable();
Optional<Object> inputMetadata = metadata.getInfo(session, table);
return new Input(table.getCatalogName(), schemaTable.getSchemaName(), schemaTable.getTableName(), inputMetadata, ImmutableList.copyOf(columns));
}
Aggregations