@Test public void testAddresses() { // split uses "example" scheme so no addresses are available and is not remotely accessible assertEquals(split.getAddresses(), ImmutableList.of()); assertEquals(split.isRemotelyAccessible(), true); JdbcSplit jdbcSplit = new JdbcSplit("connectorId", "catalog", "schemaName", "tableName", TupleDomain.all(), Optional.empty()); assertEquals(jdbcSplit.getAddresses(), ImmutableList.of()); }
@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()); }
@Test public void testJsonRoundTrip() { JsonCodec<JdbcSplit> codec = jsonCodec(JdbcSplit.class); String json = codec.toJson(split); JdbcSplit copy = codec.fromJson(json); assertEquals(copy.getConnectorId(), split.getConnectorId()); assertEquals(copy.getSchemaName(), split.getSchemaName()); assertEquals(copy.getTableName(), split.getTableName()); assertEquals(copy.getAddresses(), ImmutableList.of()); assertEquals(copy.isRemotelyAccessible(), true); } }
@Override public ConnectorSplitSource getSplits(JdbcTableLayoutHandle layoutHandle) { JdbcTableHandle tableHandle = layoutHandle.getTable(); JdbcSplit jdbcSplit = new JdbcSplit( connectorId, tableHandle.getCatalogName(), tableHandle.getSchemaName(), tableHandle.getTableName(), layoutHandle.getTupleDomain(), Optional.empty()); return new FixedSplitSource(ImmutableList.of(jdbcSplit)); }
@Override public Connection getConnection(JdbcSplit split) throws SQLException { Connection connection = driver.connect(split.getConnectionUrl(), toProperties(split.getConnectionProperties())); try { connection.setReadOnly(true); } catch (SQLException e) { connection.close(); throw e; } return connection; }
@Test public void testJsonRoundTrip() { JsonCodec<JdbcSplit> codec = jsonCodec(JdbcSplit.class); String json = codec.toJson(split); JdbcSplit copy = codec.fromJson(json); assertEquals(copy.getConnectorId(), split.getConnectorId()); assertEquals(copy.getSchemaName(), split.getSchemaName()); assertEquals(copy.getTableName(), split.getTableName()); assertEquals(copy.getAddresses(), ImmutableList.of()); assertEquals(copy.isRemotelyAccessible(), true); } }
@Override public ConnectorSplitSource getSplits(JdbcTableLayoutHandle layoutHandle) { JdbcTableHandle tableHandle = layoutHandle.getTable(); JdbcSplit jdbcSplit = new JdbcSplit( connectorId, tableHandle.getCatalogName(), tableHandle.getSchemaName(), tableHandle.getTableName(), connectionUrl, fromProperties(connectionProperties), layoutHandle.getTupleDomain()); return new FixedSplitSource(connectorId, ImmutableList.of(jdbcSplit)); }
@Override public PreparedStatement buildSql(JdbcSplit split, List<JdbcColumnHandle> columnHandles) throws SQLException { return new QueryBuilder(identifierQuote).buildSql( getConnection(split), split.getCatalogName(), split.getSchemaName(), split.getTableName(), columnHandles, split.getTupleDomain()); }
@Test public void testAddresses() { // split uses "example" scheme so no addresses are available and is not remotely accessible assertEquals(split.getAddresses(), ImmutableList.of()); assertEquals(split.isRemotelyAccessible(), true); JdbcSplit jdbcSplit = new JdbcSplit("connectorId", "catalog", "schemaName", "tableName", TupleDomain.all()); assertEquals(jdbcSplit.getAddresses(), ImmutableList.of()); }