Как Informix работает с временными таблицами, когда сеанс iSQL отбрасывается? - PullRequest
1 голос
/ 26 августа 2010

Мне интересно, как Informix (7.3) работает с временными таблицами, созданными без журнала, когда сеанс завершается без удаления этих таблиц.

Я подключаюсь с использованием iSQL:

cat |isql db

Затем, например, я создаю одну или несколько временных таблиц без журнала:

select first 10 * from table into temp t0 with no log;

Если я не удаляю эту таблицу с обычнойdrop table, а затем выйдите из iSQL через CTRL+C, иначе мой сеанс прервется в противном случае, что делает Informix с этими / этими временными таблицами?

Я снова вызываю Джонатана Леффлера - резидента, проинформированного про - снова!

1 Ответ

3 голосов
/ 26 августа 2010

Я слышал, что мое имя напрасно ... wassup?

Ох ... хорошая новость в том, что сервер данных (будь то Informix SE или IDS) является независимым процессом, дажеесли внешняя программа (isql в примере) выходит из-под контроля, сервер все еще работает, замечает, что внешний интерфейс вышел (в конце концов, иногда это может занять секунду или около того), а затем очищаетсяоткат любой активной транзакции, удаление временных таблиц и т. д.

Если сам сервер аварийно завершает работу, тогда IDS выполнит очистку после перезапуска, но Informix SE не знает, что он аварийно завершился, и затемно только тогда файлы временных таблиц останутся без дела.

...