in dbeam-core/src/main/java/com/spotify/dbeam/avro/JdbcAvroSchema.java [65:90]
public static Schema createSchemaByReadingOneRow(
final Connection connection,
final QueryBuilderArgs queryBuilderArgs,
final String avroSchemaNamespace,
final Optional<String> schemaName,
final String avroDoc,
final boolean useLogicalTypes)
throws SQLException {
LOGGER.debug("Creating Avro schema based on the first read row from the database");
try (Statement statement = connection.createStatement()) {
final ResultSet resultSet = statement.executeQuery(queryBuilderArgs.sqlQueryWithLimitOne());
resultSet.next();
final Schema schema =
createAvroSchema(
resultSet,
avroSchemaNamespace,
connection.getMetaData().getURL(),
schemaName,
avroDoc,
useLogicalTypes);
LOGGER.info("Schema created successfully. Generated schema: {}", schema.toString());
return schema;
}
}