@Test(expected = NullPointerException.class) public void shouldFailToBuildTableSchemaFromNullTable() { new TableSchemaBuilder(new JdbcValueConverters(), adjuster, SchemaBuilder.struct().build()) .create(prefix, "sometopic", null, null, null); }
final String tableIdStr = tableSchemaName(tableId); final String schemaNamePrefix = schemaPrefix + tableIdStr; LOGGER.debug("Mapping table '{}' to schemas under '{}'", tableId, schemaNamePrefix); if (table.isPrimaryKeyColumn(column.name())) { addField(keySchemaBuilder, column, null); hasPrimaryKey.set(true); addField(valSchemaBuilder, column, mapper); Function<Object[], Object> keyGenerator = createKeyGenerator(keySchema, tableId, table.primaryKeyColumns()); Function<Object[], Struct> valueGenerator = createValueGenerator(valSchema, tableId, table.columns(), filter, mappers);
int[] recordIndexes = indexesForColumns(columns); Field[] fields = fieldsForColumns(schema, columns); int numFields = recordIndexes.length; ValueConverter[] converters = convertersForColumns(schema, columnSetName, columns, null, null); return (row) -> { Struct result = new Struct(schema);
ValueConverter converter = createValueConverterFor(column, schema.field(column.name())); converter = wrapInMappingConverterIfNeeded(mappers, tableId, column, converter);
private static TableSchemaBuilder getTableSchemaBuilder(PostgresConnectorConfig config, TypeRegistry typeRegistry, Charset databaseCharset) { PostgresValueConverter valueConverter = new PostgresValueConverter(databaseCharset, config.getDecimalMode(), config.temporalPrecisionMode(), ZoneOffset.UTC, null, config.includeUnknownDatatypes(), typeRegistry, config.hStoreHandlingMode()); return new TableSchemaBuilder(valueConverter, SchemaNameAdjuster.create(LOGGER), SourceInfo.SCHEMA); }
/** * Builds up the CDC event schema for the given table and stores it in this schema. */ protected void buildAndRegisterSchema(Table table) { if (tableFilter.isIncluded(table.id())) { TableSchema schema = schemaBuilder.create(schemaPrefix, getEnvelopeSchemaName(table), table, columnFilter, columnMappers); schemasByTableId.put(table.id(), schema); } }
public SqlServerDatabaseSchema(SqlServerConnectorConfig connectorConfig, SchemaNameAdjuster schemaNameAdjuster, TopicSelector<TableId> topicSelector, SqlServerConnection connection) { super(connectorConfig, topicSelector, connectorConfig.getTableFilters().dataCollectionFilter(), connectorConfig.getColumnFilter(), new TableSchemaBuilder( new SqlServerValueConverters(connectorConfig.getDecimalMode()), schemaNameAdjuster, SourceInfo.SCHEMA ), false); }
/** * Builds up the CDC event schema for the given table and stores it in this schema. */ protected void buildAndRegisterSchema(Table table) { if (tableFilter.isIncluded(table.id())) { TableSchema schema = schemaBuilder.create(schemaPrefix, getEnvelopeSchemaName(table), table, columnFilter, columnMappers); schemasByTableId.put(table.id(), schema); } }
ValueConverter converter = createValueConverterFor(column, schema.field(column.name())); converter = wrapInMappingConverterIfNeeded(mappers, tableId, column, converter);
@Test public void shouldBuildTableSchemaFromTable() { schema = new TableSchemaBuilder(new JdbcValueConverters(), adjuster, SchemaBuilder.struct().build()) .create(prefix, "sometopic", table, null, null); assertThat(schema).isNotNull(); }
TableFilter.fromPredicate(tableFilters.tableFilter()), tableFilters.columnFilter(), new TableSchemaBuilder( getValueConverters(configuration), SchemaNameAdjuster.create(logger), SourceInfo.SCHEMA)
Predicate<ColumnId> filter, ColumnMappers mappers) { if (schema != null) { int[] recordIndexes = indexesForColumns(columns); Field[] fields = fieldsForColumns(schema, columns); int numFields = recordIndexes.length; ValueConverter[] converters = convertersForColumns(schema, tableId, columns, filter, mappers); return (row) -> { Struct result = new Struct(schema);
final String tableIdStr = tableSchemaName(tableId); final String schemaNamePrefix = schemaPrefix + tableIdStr; LOGGER.debug("Mapping table '{}' to schemas under '{}'", tableId, schemaNamePrefix); if (table.isPrimaryKeyColumn(column.name())) { addField(keySchemaBuilder, column, null); hasPrimaryKey.set(true); addField(valSchemaBuilder, column, mapper); Function<Object[], Object> keyGenerator = createKeyGenerator(keySchema, tableId, table.primaryKeyColumns()); Function<Object[], Struct> valueGenerator = createValueGenerator(valSchema, tableId, table.columns(), filter, mappers);
public void shouldBuildCorrectSchemaNames() { schema = new TableSchemaBuilder(new JdbcValueConverters(), adjuster, SchemaBuilder.struct().build()) .create(prefix, "sometopic", table, null, null); assertThat(schema).isNotNull(); assertThat(schema.keySchema().name()).isEqualTo("schema.table.Key"); .create(); schema = new TableSchemaBuilder(new JdbcValueConverters(), adjuster, SchemaBuilder.struct().build()) .create(prefix, "sometopic", table, null, null); .create(); schema = new TableSchemaBuilder(new JdbcValueConverters(), adjuster, SchemaBuilder.struct().build()) .create(prefix, "sometopic", table, null, null); .create(); schema = new TableSchemaBuilder(new JdbcValueConverters(), adjuster, SchemaBuilder.struct().build()) .create(prefix, "sometopic", table, null, null);
public OracleDatabaseSchema(OracleConnectorConfig connectorConfig, SchemaNameAdjuster schemaNameAdjuster, TopicSelector<TableId> topicSelector, OracleConnection connection) { super(connectorConfig, topicSelector, connectorConfig.getTableFilters().dataCollectionFilter(), null, new TableSchemaBuilder(new OracleValueConverters(connection), schemaNameAdjuster, SourceInfo.SCHEMA), connectorConfig.getTablenameCaseInsensitive()); }
int[] recordIndexes = indexesForColumns(columns); Field[] fields = fieldsForColumns(schema, columns); int numFields = recordIndexes.length; ValueConverter[] converters = convertersForColumns(schema, columnSetName, columns, null, null); return (row) -> { Struct result = new Struct(schema);
@Test public void shouldBuildTableSchemaFromTableWithoutPrimaryKey() { table = table.edit().setPrimaryKeyNames().create(); schema = new TableSchemaBuilder(new JdbcValueConverters(), adjuster, SchemaBuilder.struct().build()) .create(prefix, "sometopic", table, null, null); assertThat(schema).isNotNull();
private static TableSchemaBuilder getTableSchemaBuilder(PostgresConnectorConfig config, TypeRegistry typeRegistry, Charset databaseCharset) { PostgresValueConverter valueConverter = new PostgresValueConverter(databaseCharset, config.getDecimalMode(), config.temporalPrecisionMode(), ZoneOffset.UTC, null, config.includeUnknownDatatypes(), typeRegistry, config.hStoreHandlingMode()); return new TableSchemaBuilder(valueConverter, SchemaNameAdjuster.create(LOGGER), SourceInfo.SCHEMA); }
Predicate<ColumnId> filter, ColumnMappers mappers) { if (schema != null) { int[] recordIndexes = indexesForColumns(columns); Field[] fields = fieldsForColumns(schema, columns); int numFields = recordIndexes.length; ValueConverter[] converters = convertersForColumns(schema, tableId, columns, filter, mappers); return (row) -> { Struct result = new Struct(schema);