#sql #database #hsqldb
#sql #База данных #hsqldb
Вопрос:
Я запускаю тест с использованием HSQLDB и хочу иметь возможность выполнять запросы select к базе данных во время этого теста, чтобы увидеть, что меняется. Я полагаю, что транзакция или что-то еще блокирует базу данных во время тестирования, и я не могу выполнять запросы… Можно ли настроить сервер hsql таким образом, чтобы иметь возможность выполнять эти запросы?
Ответ №1:
Этот ответ действителен, если вы запускаете сервер HyperSQL и подключаетесь по jdbc:hsqldb:hsql:xxxx
URL-адресу подключения.
Модель изоляции транзакций по умолчанию — БЛОКИРОВКИ. В этой модели таблицы блокируются, когда их строки изменяются во время транзакции. Вам необходимо использовать модель MVCC для базы данных, чтобы разрешить другим подключениям доступ к таблице.
Однако, когда вы изменяете строки, эти изменения видны только транзакции, которая вносит изменения, пока она не зафиксирует данные и изменения не станут видимыми для других соединений.