2010-08-26 23 views
1

Je suis curieux de savoir comment Informix (7.3) traite les tables temporaires créées sans log quand une session est terminée sans abandonner ces tables.Comment Informix traite-t-il les tables temporaires lorsqu'une session iSQL est supprimée?

Je connecter à l'aide iSQL:

cat |isql db

Ensuite, par exemple, je crée une ou plusieurs tables temporaires sans journal:

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

Si je ne laisse pas tomber cette table avec la commande drop table normale, puis quittez iSQL via CTRL+C ou ma session se termine autrement, que fait Informix avec ces/ces tables temporaires?

J'invoque Jonathan Leffler - le résident informix pro - encore pour cela!

Répondre

3

J'entends que mon nom a été pris en vain ... wassup? Oh ... la bonne nouvelle est que le serveur de données (que ce soit Informix SE ou IDS) est un processus indépendant, même si le programme frontal (isql dans l'exemple) tombe en panne, le le serveur est toujours en cours d'exécution, remarque que le frontal a disparu (éventuellement, cela peut prendre une seconde ou deux), puis nettoie, annule toute transaction active et supprime les tables temporaires, etc. Si le serveur lui-même tombe en panne, alors IDS effectuera le nettoyage au redémarrage, mais Informix SE ne sait pas qu'il s'est bloqué et que les fichiers de la table temporaire seront laissés traîner.

+0

merci, je peux toujours compter sur vous! – CheeseConQueso

+0

Je vais confirmer la réponse de Jonathan, car j'ai été témoin des tables temporaires qui restent dans \ tmp après que isql s'abandonne. ceci inclut les listes actuelles créées par les requêtes. –