@Override public ConnectorInsertTableHandle beginInsert(ConnectorSession session, ConnectorTableHandle tableHandle) { JdbcOutputTableHandle handle = jdbcClient.beginInsertTable(getTableMetadata(session, tableHandle)); setRollback(() -> jdbcClient.rollbackCreateTable(handle)); return handle; }
@Override public ConnectorOutputTableHandle beginCreateTable(ConnectorSession session, ConnectorTableMetadata tableMetadata, Optional<ConnectorNewTableLayout> layout) { JdbcOutputTableHandle handle = jdbcClient.beginCreateTable(tableMetadata); setRollback(() -> jdbcClient.rollbackCreateTable(handle)); return handle; }
public DriverConnectionFactory(Driver driver, BaseJdbcConfig config) { this(driver, config.getConnectionUrl(), basicConnectionProperties(config)); }
@Override public void rollbackCreateTable(JdbcOutputTableHandle handle) { dropTable(new JdbcTableHandle( handle.getConnectorId(), new SchemaTableName(handle.getSchemaName(), handle.getTemporaryTableName()), handle.getCatalogName(), handle.getSchemaName(), handle.getTemporaryTableName())); }
@Override public PreparedStatement buildSql(Connection connection, JdbcSplit split, List<JdbcColumnHandle> columnHandles) throws SQLException { return new QueryBuilder(identifierQuote).buildSql( this, connection, split.getCatalogName(), split.getSchemaName(), split.getTableName(), columnHandles, split.getTupleDomain(), split.getAdditionalPredicate()); }
private static ResultSet getColumns(JdbcTableHandle tableHandle, DatabaseMetaData metadata) throws SQLException { String escape = metadata.getSearchStringEscape(); return metadata.getColumns( tableHandle.getCatalogName(), escapeNamePattern(tableHandle.getSchemaName(), escape), escapeNamePattern(tableHandle.getTableName(), escape), null); } }
@Override public Iterable<ConnectorFactory> getConnectorFactories() { return ImmutableList.of(new JdbcConnectorFactory(name, module, getClassLoader())); }
@Test public void testJsonRoundTrip() { assertJsonRoundTrip(COLUMN_CODEC, new JdbcColumnHandle("connectorId", "columnName", JDBC_VARCHAR, VARCHAR)); }
@Override public ConnectorSplitSource getSplits(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorTableLayoutHandle layout, SplitSchedulingStrategy splitSchedulingStrategy) { JdbcTableLayoutHandle layoutHandle = (JdbcTableLayoutHandle) layout; return jdbcClient.getSplits(layoutHandle); } }
@Override public List<SchemaTableName> listTables(ConnectorSession session, String schemaNameOrNull) { return jdbcClient.getTableNames(schemaNameOrNull); }
@Override public ColumnMetadata getColumnMetadata(ConnectorSession session, ConnectorTableHandle tableHandle, ColumnHandle columnHandle) { return ((JdbcColumnHandle) columnHandle).getColumnMetadata(); }
@Override public RecordCursor cursor() { return new JdbcRecordCursor(jdbcClient, session, split, columnHandles); } }
@Override public String toString() { return table.toString(); } }
@Override public ConnectorPageSink createPageSink(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorInsertTableHandle tableHandle) { return new JdbcPageSink((JdbcOutputTableHandle) tableHandle, jdbcClient); } }
@Override public boolean schemaExists(ConnectorSession session, String schemaName) { return jdbcClient.schemaExists(schemaName); }
@Override public Optional<ReadMapping> toPrestoType(ConnectorSession session, JdbcTypeHandle typeHandle) { return jdbcTypeToPrestoType(typeHandle); }
@Override public JdbcOutputTableHandle beginCreateTable(ConnectorTableMetadata tableMetadata) { return beginWriteTable(tableMetadata); }
public TestJdbcIntegrationSmokeTest() { super(() -> createJdbcQueryRunner(ORDERS)); } }
@Override public ConnectorPageSink createPageSink(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorOutputTableHandle tableHandle) { return new JdbcPageSink((JdbcOutputTableHandle) tableHandle, jdbcClient); }