analysis.setInsert(new Analysis.Insert( targetTableHandle.get(), insertColumns.stream().map(columnHandles::get).collect(toImmutableList())));
private static Set<ConnectorId> extractConnectors(Analysis analysis) { ImmutableSet.Builder<ConnectorId> connectors = ImmutableSet.builder(); for (TableHandle tableHandle : analysis.getTables()) { connectors.add(tableHandle.getConnectorId()); } if (analysis.getInsert().isPresent()) { TableHandle target = analysis.getInsert().get().getTarget(); connectors.add(target.getConnectorId()); } return connectors.build(); }
analysis.setInsert(new Analysis.Insert( targetTableHandle.get(), insertColumns.stream().map(columnHandles::get).collect(toImmutableList())));
TableMetadata tableMetadata = metadata.getTableMetadata(session, insert.getTarget()); Map<String, ColumnHandle> columns = metadata.getColumnHandles(session, insert.getTarget()); ImmutableMap.Builder<Symbol, Expression> assignments = ImmutableMap.builder(); for (ColumnMetadata column : tableMetadata.getVisibleColumns()) { Symbol output = symbolAllocator.newSymbol(column.getName(), column.getType()); int index = insert.getColumns().indexOf(columns.get(column.getName())); if (index < 0) { assignments.put(output, new NullLiteral()); plan.getSampleWeight()); Optional<NewTableLayout> newTableLayout = metadata.getInsertLayout(session, insert.getTarget()); new InsertReference(insert.getTarget()), visibleTableColumnNames, newTableLayout);
TableMetadata tableMetadata = metadata.getTableMetadata(session, insert.getTarget()); Map<String, ColumnHandle> columns = metadata.getColumnHandles(session, insert.getTarget()); Assignments.Builder assignments = Assignments.builder(); for (ColumnMetadata column : tableMetadata.getColumns()) { int index = insert.getColumns().indexOf(columns.get(column.getName())); if (index < 0) { Expression cast = new Cast(new NullLiteral(), column.getType().getTypeSignature().toString()); Optional<NewTableLayout> newTableLayout = metadata.getInsertLayout(session, insert.getTarget()); String catalogName = insert.getTarget().getConnectorId().getCatalogName(); TableStatisticsMetadata statisticsMetadata = metadata.getStatisticsCollectionMetadata(session, catalogName, tableMetadata.getMetadata()); analysis, plan, new InsertReference(insert.getTarget()), visibleTableColumnNames, newTableLayout,