Мой код выполняет несколько операторов sql, которые создают временные таблицы. Моя цель - иметь возможность просматривать состояние базы данных в другой консоли sql / инструменте / терминале, имеющей контекст сеанса sql приложения (в то время как поток приложения приостанавливается на точке останова отладки). Приложение использует стек Spring-data / hibernate / mariadb.
Я нашел способ, как этого добиться, используя оценщик выражений отладки IDE и обращаясь к базе данных через экземпляр EntityManager, например:
em.createNativeQuery("SELECT * FROM rating_per_season").getResultList()
Имхо довольно неудобно искать ошибки таким образом. Можно ли как-то переключиться на этот сеанс sql, используя другую консоль? Когда я перечисляю процессы через консоль:
show processlist;
output:
[
{
"Id": 119,
"User": "fpsta",
"Host": "localhost:53198",
"db": "fp-sta",
"Command": "Sleep",
"Time": 1016,
"State": "",
"Info": null,
"Progress": 0
},
{
"Id": 148,
"User": "fpsta",
"Host": "localhost:54508",
"db": "fp-sta",
"Command": "Query",
"Time": 0,
"State": "Init",
"Info": "/* ApplicationName=IntelliJ IDEA 2019.2.3 */ show processlist",
"Progress": 0
}
]
Теперь я хочу запустить другую консоль и затем переключиться на Id сессии: 119, затем продолжить писать свою собственную отладку sql высказываний.
MAGIC_COMMAND_SWITCH_TO 119;
...
Есть идеи?