@Test void hasIpv6_falseWhenUnknownSQLState() throws SQLException {
    SQLSyntaxErrorException sqlException = new SQLSyntaxErrorException(
        "java.sql.SQLSyntaxErrorException: Table 'zipkin.zipkin_annotations' doesn't exist",
        "42S02", 1146);
    DataSource dataSource = mock(DataSource.class);

    // cheats to lower mock count: this exception is really thrown during execution of the query
    when(dataSource.getConnection()).thenThrow(
        new DataAccessException(sqlException.getMessage(), sqlException));

    assertThat(schema.hasIpv6).isFalse();
  }
This returns false instead of failing when the SQLState code doesn't imply the column is
missing. This is to prevent zipkin from crashing due to scenarios we haven't thought up, yet.
The root error goes into the log in this case.
zipkin-storage/mysql-v1/src/test/java/zipkin2/storage/mysql/v1/SchemaTest.java