protected final List<Type> getColumnTypes(String tableName, String... columnNames) { checkState(session.getCatalog().isPresent(), "catalog not set"); checkState(session.getSchema().isPresent(), "schema not set"); // look up the table Metadata metadata = localQueryRunner.getMetadata(); QualifiedObjectName qualifiedTableName = new QualifiedObjectName(session.getCatalog().get(), session.getSchema().get(), tableName); TableHandle tableHandle = metadata.getTableHandle(session, qualifiedTableName) .orElseThrow(() -> new IllegalArgumentException(format("Table %s does not exist", qualifiedTableName))); Map<String, ColumnHandle> allColumnHandles = metadata.getColumnHandles(session, tableHandle); return Arrays.stream(columnNames) .map(allColumnHandles::get) .map(columnHandle -> metadata.getColumnMetadata(session, tableHandle, columnHandle).getType()) .collect(toImmutableList()); }
protected final List<Type> getColumnTypes(String tableName, String... columnNames) { checkState(session.getCatalog().isPresent(), "catalog not set"); checkState(session.getSchema().isPresent(), "schema not set"); // look up the table Metadata metadata = localQueryRunner.getMetadata(); QualifiedObjectName qualifiedTableName = new QualifiedObjectName(session.getCatalog().get(), session.getSchema().get(), tableName); TableHandle tableHandle = metadata.getTableHandle(session, qualifiedTableName) .orElseThrow(() -> new IllegalArgumentException(format("Table %s does not exist", qualifiedTableName))); Map<String, ColumnHandle> allColumnHandles = metadata.getColumnHandles(session, tableHandle); return Arrays.stream(columnNames) .map(allColumnHandles::get) .map(columnHandle -> metadata.getColumnMetadata(session, tableHandle, columnHandle).getType()) .collect(toImmutableList()); }
private Optional<ColumnHandle> getColumnHandle(TableHandle tableHandle, Session session, Metadata metadata) { return metadata.getColumnHandles(session, tableHandle).entrySet() .stream() .filter(entry -> columnName.equals(entry.getKey())) .map(Map.Entry::getValue) .findFirst(); }
private Optional<ColumnHandle> getColumnHandle(TableHandle tableHandle, Session session, Metadata metadata) { return metadata.getColumnHandles(session, tableHandle).entrySet() .stream() .filter(entry -> columnName.equals(entry.getKey())) .map(Map.Entry::getValue) .findFirst(); }
Map<String, ColumnHandle> allColumnHandles = metadata.getColumnHandles(session, tableHandle); ImmutableList.Builder<ColumnHandle> columnHandlesBuilder = ImmutableList.builder(); for (String columnName : columnNames) {
Map<String, ColumnHandle> allColumnHandles = metadata.getColumnHandles(session, tableHandle); ImmutableList.Builder<ColumnHandle> columnHandlesBuilder = ImmutableList.builder(); for (String columnName : columnNames) {
Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, tableHandle); for (Map.Entry<String, Domain> expectedColumnConstraint : expectedDomains.get().entrySet()) { if (!columnHandles.containsKey(expectedColumnConstraint.getKey())) {
Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, tableHandle); for (Map.Entry<String, Domain> expectedColumnConstraint : expectedDomains.get().entrySet()) { if (!columnHandles.containsKey(expectedColumnConstraint.getKey())) {
ColumnHandle columnHandle = metadata.getColumnHandles(session, tableHandle).get(column); if (columnHandle == null) { throw new SemanticException(MISSING_COLUMN, statement, "Column '%s' does not exist", column);
ColumnHandle columnHandle = metadata.getColumnHandles(session, tableHandle).get(column); if (columnHandle == null) { throw new SemanticException(MISSING_COLUMN, statement, "Column '%s' does not exist", column);
Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, tableHandle); ColumnHandle columnHandle = columnHandles.get(source); if (columnHandle == null) {
Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, tableHandle); ColumnHandle columnHandle = columnHandles.get(source); if (columnHandle == null) {
Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, targetTable); ImmutableList.Builder<Symbol> tableScanOutputs = ImmutableList.builder(); ImmutableMap.Builder<Symbol, ColumnHandle> symbolToColumnHandle = ImmutableMap.builder();
Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, targetTable); ImmutableList.Builder<Symbol> tableScanOutputs = ImmutableList.builder(); ImmutableMap.Builder<Symbol, ColumnHandle> symbolToColumnHandle = ImmutableMap.builder();
session.getIdentity(), ImmutableMultimap.<QualifiedObjectName, String>builder() .putAll(tableName, metadata.getColumnHandles(session, tableHandle).keySet()) .build()); try {
Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, tableHandle.get());
session.getIdentity(), ImmutableMultimap.<QualifiedObjectName, String>builder() .putAll(tableName, metadata.getColumnHandles(session, tableHandle).keySet()) .build()); try {
private Node rewriteShowStats(ShowStats node, Table table, Constraint<ColumnHandle> constraint) { TableHandle tableHandle = getTableHandle(node, table.getName()); TableStatistics tableStatistics = metadata.getTableStatistics(session, tableHandle, constraint); List<String> statsColumnNames = buildColumnsNames(); List<SelectItem> selectItems = buildSelectItems(statsColumnNames); TableMetadata tableMetadata = metadata.getTableMetadata(session, tableHandle); Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, tableHandle); List<Expression> resultRows = buildStatisticsRows(tableMetadata, columnHandles, tableStatistics); return simpleQuery(selectAll(selectItems), aliased(new Values(resultRows), "table_stats_for_" + table.getName(), statsColumnNames)); }
Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, tableHandle.get());
private Node rewriteShowStats(ShowStats node, Table table, Constraint<ColumnHandle> constraint) { TableHandle tableHandle = getTableHandle(node, table.getName()); TableStatistics tableStatistics = metadata.getTableStatistics(session, tableHandle, constraint); List<String> statsColumnNames = buildColumnsNames(); List<SelectItem> selectItems = buildSelectItems(statsColumnNames); TableMetadata tableMetadata = metadata.getTableMetadata(session, tableHandle); Map<String, ColumnHandle> columnHandles = metadata.getColumnHandles(session, tableHandle); List<Expression> resultRows = buildStatisticsRows(tableMetadata, columnHandles, tableStatistics); return simpleQuery(selectAll(selectItems), aliased(new Values(resultRows), "table_stats_for_" + table.getName(), statsColumnNames)); }