The SQL compiler and SQL executor in a database management system are
extended to process queries requiring streaming mode processing of data
stored in a table. A scan operator performs table access functions during
execution of the streaming mode query. The scan operator first performs an
initial scan to access rows in a specified database table, and then
performs a delta scan to access new rows added to the table, as well as
rows modified by other queries. The scan operator continues to process new
data added to the table until the initiating user or application closes
the associated cursor. A set of data structures are provided to keep track
of active scan operators, including a session control block that includes
fields for keeping track of whether the scan operator is performing an
initial scan or a delta scan. The session control block also includes, for
streaming mode scan operators, a delta scan list of new and modified rows
to be processed in the delta scan. When a transaction terminates, any
streaming mode scan operators whose operation was suspended because of
rows locked by the transaction are automatically rescheduled for
execution.
Der SQL Kompilator und DER SQL Vollstrecker in einem Datenbankmanagementsystem werden auf die Prozeßfragen verlängert, welche die Strömungsmodeverarbeitung der Daten erfordern, die in einer Tabelle gespeichert werden. Ein Scan-Operator führt Tabelle Zugang Funktionen während der Durchführung der Strömungsmodefrage durch. Der Scan-Operator führt zuerst einen Ausgangsscan durch, um Reihen in einer spezifizierten Datenbanktabelle zugänglich zu machen und führt dann einen Dreiecksscan durch, um die neuen Reihen zugänglich zu machen, die dem Tabelle, sowie die Reihen hinzugefügt werden, die durch andere Fragen geändert werden. Der Scan-Operator fährt fort, die neuen Daten zu verarbeiten, die dem Tabelle bis den einleitenden Benutzer hinzugefügt werden, oder Anwendung schließt den verbundenen Cursor. Ein Satz Datenstrukturen werden zur Unterhaltschiene der aktiven Scan-Operatoren, einschließlich einen Lernabschnittkennblock zur Verfügung gestellt, deren auffängt für das Verfolgen einschließt, ob der Scan-Operator einen Ausgangsscan oder einen Dreiecksscan durchführt. Der Lernabschnittkennblock schließt auch, für Strömungsmodescan-Operatoren, eine Dreiecksscan-Liste der neuen und geänderten im Dreiecksscan verarbeitet zu werden Reihen, ein. Wenn eine Verhandlung beendet, werden alle mögliche Strömungsmodescan-Operatoren deren Betrieb wegen der Reihen verschoben wurde, die durch die Verhandlung verriegelt waren, automatisch für Durchführung neu festgelegt.