Firebird Documentation IndexFirebird 2.5 SprachreferenzMonitoring Tables → MON$STATEMENTS
Firebird Home Firebird Home Zurück: MON$RECORD_STATSFirebird Documentation IndexNach oben: Monitoring TablesWeiter: MON$TRANSACTIONS

MON$STATEMENTS

Inhaltsverzeichnis

MON$STATEMENTS zum Stoppen einer Abfrage nutzen

MON$STATEMENTS zeigt Statments an, die für die Ausführung vorbereitet wurden.

Spaltenname Datentyp Beschreibung
MON$STATEMENT_ID INTEGER Statement-Kennung
MON$ATTACHMENT_ID INTEGER Verbindungs-Kennung
MON$TRANSACTION_ID INTEGER Transaktions-Kennung
MON$STATE SMALLINT Statement-Status:
0 - Leerlauf (idle)
1 - Aktiv
2 - verzögert (stalled)
MON$TIMESTAMP TIMESTAMP Der Zeitpunkt an dem das Statement vorbereitet wurde.
MON$SQL_TEXT BLOB TEXT Statement-Text in SQL
MON$STAT_ID INTEGER Statistik-Kennung

Der Status STALLED gibt an, dass das Statement zum Zeitpunkt des Snapshots einen offenen Cursor besaß und auf den Client wartet, der weitere Datensätze abruft.

MON$STATEMENTS zum Stoppen einer Abfrage nutzen

Monitoringtabellen können nur gelesen werden. Jedoch hat der Server einen eingebauten Mechanismus um Datensätze in der Tabelle MON$STATEMENTS zu löschen (und nur zum Löschen), womit es möglich ist, laufende Abfragen zu stoppen.

Hinweis

  • Werden derzeit keine Abfragen in der Verbindung ausgeführt, so wird jeder Versuch eine Abfrage zu stoppen, nicht funktionieren.
  • Nachdem eine Abfrage gestoppt wurde, werden Execute- und Fetch-Aufrufe der API den Fehlercode isc_cancelled zurückgeben.
  • Nachfolgende Abfragen laufen normal weiter.

Beispiel:  Stoppen aller aktiven Abfragen der angegebenen Verbindung

DELETE FROM MON$STATEMENTS
  WHERE MON$ATTACHMENT_ID = 32
          

Zurück: MON$RECORD_STATSFirebird Documentation IndexNach oben: Monitoring TablesWeiter: MON$TRANSACTIONS
Firebird Documentation IndexFirebird 2.5 SprachreferenzMonitoring Tables → MON$STATEMENTS