Spec-Zone .ru
спецификации, руководства, описания, API

21.3.16.2. Как Сообщить об Ошибках Connector/J или проблемах

Нормальное место, чтобы сообщить об ошибках http://bugs.mysql.com/, который является адресом для нашей базы данных ошибок. Эта база данных общедоступна, и может быть просмотрена и искаться любым. Если Вы войдете в систему к системе, то Вы также будете в состоянии ввести новые отчеты.

Если Вы находите чувствительную ошибку безопасности в MySQL Server, пожалуйста, сообщите нам сразу, отправляя электронное письмо . Исключение: клиенты Поддержки должны сообщить обо всех проблемах, включая ошибки безопасности, к Поддержке Oracle в http://support.oracle.com/.

Запись хорошего отчета об ошибках берет терпение, но выполнение этого исправляются, первый раз экономит время и для нас и для вас непосредственно. Хороший отчет об ошибках, содержа полный прецедент для ошибки, делает это очень вероятно, что мы исправим ошибку в следующем выпуске.

Этот раздел поможет Вам написать свой отчёт правильно так, чтобы Вы не потратили впустую свои вещи выполнения времени, которые, возможно, не помогают нам очень или вообще.

Если у Вас есть повторимый отчет об ошибках, пожалуйста, сообщите об этом базе данных ошибок в http://bugs.mysql.com/. У любой ошибки, которую мы в состоянии повторить, есть высокий шанс того, чтобы быть фиксированным в следующем выпуске MySQL.

Чтобы сообщить о других проблемах, можно использовать один из списков рассылки MySQL.

Помните, что для нас возможно ответить на сообщение, содержащее слишком большую информацию, но не к одному содержащему слишком мало. Люди часто опускают факты, потому что они думают, что знают причину проблемы и предполагают, что некоторые детали не имеют значения.

Хороший принцип - это: Если Вы вызываете сомнение об утверждении чего-то, утверждаете это. Это быстрее и менее неприятно, чтобы записать пару большего количества строк в Вашем отчете чем ожидать дольше ответа, если мы должны попросить, чтобы Вы предоставили информацию, которая отсутствовала в первоначальном сообщении.

Наиболее распространенные ошибки, сделанные в отчетах об ошибках, (a) не включая номер версии Connector/J или MySQL, используемого, и (b), не полностью описывающий платформу, на которой устанавливается Connector/J (включая версию JVM, и тип платформы и номер версии, что сам MySQL устанавливается на).

Это - очень релевантная информация, и в 99 случаях из 100, отчет об ошибках бесполезен без нее. Очень часто мы получаем вопросы как, "Почему это не работает на меня?" Затем мы находим, что опция, которую требуют, не была реализована в той версии MySQL, или что ошибка, описанная в отчете, была уже исправлена в более новых версиях MySQL.

Иногда ошибка зависима от платформы; в таких случаях это почти невозможно для нас, чтобы фиксировать что-либо, не зная операционной системы и номера версии платформы.

Если вообще возможно создайте повторимый, автономный testcase, который не включает сторонних классов.

Чтобы оптимизировать этот процесс, мы поставляем основной class для testcases с Connector/J, названным'com.mysql.jdbc.util.BaseBugReport'. Чтобы создать testcase для Connector/J, использующего этот class, создайте свой собственный class, который наследовался от com.mysql.jdbc.util.BaseBugReport и переопределите методы setUp(), tearDown() и runTest().

В setUp() метод, создайте код, который составляет Ваши таблицы, и заполняет их с любыми данными, должен был демонстрировать ошибку.

В runTest() метод, создайте код, который демонстрирует ошибку, используя таблицы и данные, которые Вы создали в setUp метод.

В tearDown() метод, отбросьте любые таблицы, которые Вы составляли в setUp() метод.

В любом из вышеупомянутых трех методов используйте одну из разновидностей getConnection() метод, чтобы создать соединение JDBC с MySQL:

Если Вы должны использовать URL JDBC, который отличается от 'jdbc:mysql:///тест', переопределяет метод getUrl() также.

Используйте assertTrue(boolean expression) и assertTrue(String failureMessage, boolean expression) методы, чтобы создать условия, которые нужно соблюдать в Вашем testcase демонстрация поведения, которое Вы ожидаете (по сравнению с поведением Вы наблюдаете, который является, почему Вы наиболее вероятно регистрируете отчет об ошибках).

Наконец, создайте a main() метод, который создает новый экземпляр Вашего testcase, и вызывает run метод:

public static void main(String[] args) throws Exception {      new MyBugReport().run(); }

Как только Вы закончили свой testcase, и проверили, что он демонстрирует ошибку, Вы сообщаете, загружаете его со своим отчетом об ошибках к http://bugs.mysql.com/.