@Override
  public String generateSqlType(Dialect dialect) {
    return switch (dialect.getId()) {
      case PostgreSql.ID -> "SMALLINT";
      case Oracle.ID -> "NUMBER(3)";
      case MsSql.ID, H2.ID -> "TINYINT";
      default -> throw new UnsupportedOperationException(String.format("Unknown dialect '%s'", dialect.getId()));
    };
  }
@Test
  public void fail_with_UOE_to_generate_sql_type_when_unknown_dialect() {
    assertThatThrownBy(() -> {
      TinyIntColumnDef def = new TinyIntColumnDef.Builder()
        .setColumnName("foo")
        .setIsNullable(true)
        .build();

      Dialect dialect = mock(Dialect.class);
      when(dialect.getId()).thenReturn("unknown");
      def.generateSqlType(dialect);
    })
      .isInstanceOf(UnsupportedOperationException.class)
      .hasMessage("Unknown dialect 'unknown'");
  }