Я пытаюсь продемонстрировать фантомное чтение в MySQL с помощью JDBC. Я понимаю, что при уровне изоляции REPEATABLE -READ должны быть возможны фантомы. Но я не могу заставить его произойти. Мои транзакции настроены следующим образом:
Транзакция 1:
querySetOne[0] = "use adventureworks";
querySetOne[1] = "select * from vendorcontact where ContactTypeID between 10 and 30";
querySetOne[2] = "select sleep(20)";
querySetOne[3] = "select * from vendorcontact where ContactTypeID between 10 and 30";
querySetOne[4] = "COMMIT";
Транзакция 2:
querySetTwo[0] = "use adventureworks";
querySetTwo[1] = "select sleep(2)";
querySetTwo[2] = "insert into vendorcontact values (105, 700, 20, NULL)";
querySetTwo[3] = "COMMIT";
Я храню их в массивах b/c Я использую метод Statement.execute ()для выполнения каждой строки, и у меня установлена автоматическая фиксация ложный.
Почему запрос от querySetOne[1] и querySetOne[3] возвращает одни и те же результаты при уровне изоляции повторяющегося чтения??