У нас очень любопытная проблема с hsqldb. Мы выполняем некоторые тесты, которые отлично работают на MySQL, но недавно мы перешли на hsqldb для наших модульных тестов. При этом мы заметили, что некоторые наши тесты начали проваливаться. Один из тестов вставляет три записи A, B и C и пытается извлечь первые две, A и B. Однако, только B возвращается при первом запуске теста в только что сконфигурированной (пустой) базе данных. Однако, если мы повторим тест для одной и той же базы данных, будут возвращены и A ', и B' (прежде чем вы спросите, да, A, B и C отличаются от A ', B' и C ').
Мы попытались заставить базу данных сохранить записи, и мы вставили задержки. Ничто не помогает, кроме «прогрева базы данных» с помощью одной вставки. Если после этого мы проверим журналы hsqldb, они содержат все операторы вставки, даже те, которые мы не можем получить с помощью SELECT при первом запуске базы данных.
Кто-нибудь когда-нибудь испытывал проблемы с hsqldb, которые нужно было "подогревать" с помощью фиктивного оператора вставки? Если мы выполним оператор вставки с мусором перед запуском наших тестов, они также успешно завершатся.
Мы тестировали на hsqldb 2.0.0 и 2.1.0. Обе версии дают одинаковый результат.