@Override public ColumnMetadata getColumnMetadata(final ConnectorSession session, final ConnectorTableHandle tableHandle, final ColumnHandle columnHandle) { Types.checkType(tableHandle, JdbcTableHandle.class, "tableHandle"); return Types.checkType(columnHandle, ColumnDetailHandle.class, "columnHandle").getColumnMetadata(); } }
@Override public ColumnMetadata getColumnMetadata(final ConnectorSession session, final ConnectorTableHandle tableHandle, final ColumnHandle columnHandle) { Types.checkType(tableHandle, JdbcTableHandle.class, "tableHandle"); return Types.checkType(columnHandle, ColumnDetailHandle.class, "columnHandle").getColumnMetadata(); } }
@Override public RecordSet getRecordSet(ConnectorSession session, ConnectorSplit split, List<? extends ColumnHandle> columns) { JdbcSplit jdbcSplit = checkType(split, JdbcSplit.class, "split"); ImmutableList.Builder<JdbcColumnHandle> handles = ImmutableList.builder(); for (ColumnHandle handle : columns) { handles.add(checkType(handle, JdbcColumnHandle.class, "columnHandle")); } return new JdbcRecordSet(jdbcClient, jdbcSplit, handles.build()); } }
@Override public void commitCreateTable(ConnectorSession session, ConnectorOutputTableHandle tableHandle, Collection<Slice> fragments) { JdbcOutputTableHandle handle = checkType(tableHandle, JdbcOutputTableHandle.class, "tableHandle"); jdbcClient.commitCreateTable(handle, fragments); } }
@Override public RecordSink getRecordSink(ConnectorSession session, ConnectorOutputTableHandle tableHandle) { return new JdbcRecordSink(checkType(tableHandle, JdbcOutputTableHandle.class, "tableHandle"), jdbcClient); }
@Override public ConnectorSplitSource getSplits(ConnectorSession session, ConnectorTableLayoutHandle layout) { JdbcTableLayoutHandle layoutHandle = checkType(layout, JdbcTableLayoutHandle.class, "layout"); return jdbcClient.getSplits(layoutHandle); } }
@Override public Map<String, ColumnHandle> getColumnHandles(final ConnectorSession session, final ConnectorTableHandle tableHandle) { final JdbcTableHandle jdbcTableHandle = Types.checkType(tableHandle, JdbcTableHandle.class, "tableHandle"); final ImmutableMap.Builder<String, ColumnHandle> columnHandles = ImmutableMap.builder(); for (ColumnDetailHandle column : jdbcClient.getColumnsWithDetails(jdbcTableHandle)) { columnHandles.put(column.getColumnMetadata().getName(), column); } return columnHandles.build(); }
@Override public Map<String, ColumnHandle> getColumnHandles(ConnectorSession session, ConnectorTableHandle tableHandle) { JdbcTableHandle jdbcTableHandle = checkType(tableHandle, JdbcTableHandle.class, "tableHandle"); ImmutableMap.Builder<String, ColumnHandle> columnHandles = ImmutableMap.builder(); for (JdbcColumnHandle column : jdbcClient.getColumns(jdbcTableHandle)) { columnHandles.put(column.getColumnMetadata().getName(), column); } return columnHandles.build(); }
@Override public Map<String, ColumnHandle> getColumnHandles(final ConnectorSession session, final ConnectorTableHandle tableHandle) { final JdbcTableHandle jdbcTableHandle = Types.checkType(tableHandle, JdbcTableHandle.class, "tableHandle"); final ImmutableMap.Builder<String, ColumnHandle> columnHandles = ImmutableMap.builder(); for (ColumnDetailHandle column : jdbcClient.getColumnsWithDetails(jdbcTableHandle)) { columnHandles.put(column.getColumnMetadata().getName(), column); } return columnHandles.build(); }
@Override public void dropTable(ConnectorSession session, ConnectorTableHandle tableHandle) { if (!allowDropTable) { throw new PrestoException(PERMISSION_DENIED, "DROP TABLE is disabled in this catalog"); } JdbcTableHandle handle = checkType(tableHandle, JdbcTableHandle.class, "tableHandle"); jdbcClient.dropTable(handle); }
@Override public ConnectorTableMetadata getTableMetadata(final ConnectorSession session, final ConnectorTableHandle table) { final JdbcTableHandle handle = Types.checkType(table, JdbcTableHandle.class, "tableHandle"); final ImmutableList.Builder<ColumnMetadata> columnMetadata = ImmutableList.builder(); for (ColumnDetailHandle column : jdbcClient.getColumnsWithDetails(handle)) { columnMetadata.add(column.getColumnMetadata()); } return new ConnectorTableMetadata(handle.getSchemaTableName(), columnMetadata.build()); }
@Override public ConnectorTableMetadata getTableMetadata(final ConnectorSession session, final ConnectorTableHandle table) { final JdbcTableHandle handle = Types.checkType(table, JdbcTableHandle.class, "tableHandle"); final ImmutableList.Builder<ColumnMetadata> columnMetadata = ImmutableList.builder(); for (ColumnDetailHandle column : jdbcClient.getColumnsWithDetails(handle)) { columnMetadata.add(column.getColumnMetadata()); } return new ConnectorTableMetadata(handle.getSchemaTableName(), columnMetadata.build()); }
@Override public ConnectorTableMetadata getTableMetadata(ConnectorSession session, ConnectorTableHandle table) { JdbcTableHandle handle = checkType(table, JdbcTableHandle.class, "tableHandle"); ImmutableList.Builder<ColumnMetadata> columnMetadata = ImmutableList.builder(); for (JdbcColumnHandle column : jdbcClient.getColumns(handle)) { columnMetadata.add(column.getColumnMetadata()); } return new ConnectorTableMetadata(handle.getSchemaTableName(), columnMetadata.build()); }
@Override public List<ConnectorTableLayoutResult> getTableLayouts(ConnectorSession session, ConnectorTableHandle table, Constraint<ColumnHandle> constraint, Optional<Set<ColumnHandle>> desiredColumns) { JdbcTableHandle tableHandle = checkType(table, JdbcTableHandle.class, "table"); ConnectorTableLayout layout = new ConnectorTableLayout(new JdbcTableLayoutHandle(tableHandle, constraint.getSummary())); return ImmutableList.of(new ConnectorTableLayoutResult(layout, constraint.getSummary())); }