G06F16/2435

STATEMENT-LEVEL INSTEAD-OF DATABASE TRIGGERS

Techniques are disclosed relating to implementing a statement-level INSTEAD OF trigger. In one embodiment a computer system stores trigger information associated with a statement-level database trigger executable to initiate execution of at least one trigger instruction for a database instead of performing a particular database operation, on a database view, specified by a database operation statement. The computer system receives a first database operation statement specifying performance of the particular database operation on the database view and identifies a set of target rows, within the database view, targeted by the first database operation statement. In addition, the computer system generates a reference table associated with the database view, where the reference table includes rows corresponding to the target rows. The computer system executes the statement-level database trigger instead of executing the database operation statement, where executing the statement-level database trigger includes accessing the reference table.

Statement-level instead-of database triggers

Techniques are disclosed relating to implementing a statement-level INSTEAD OF trigger. In one embodiment a computer system stores trigger information associated with a statement-level database trigger executable to initiate execution of at least one trigger instruction for a database instead of performing a particular database operation, on a database view, specified by a database operation statement. The computer system receives a first database operation statement specifying performance of the particular database operation on the database view and identifies a set of target rows, within the database view, targeted by the first database operation statement. In addition, the computer system generates a reference table associated with the database view, where the reference table includes rows corresponding to the target rows. The computer system executes the statement-level database trigger instead of executing the database operation statement, where executing the statement-level database trigger includes accessing the reference table.

STATEMENT-LEVEL INSTEAD-OF DATABASE TRIGGERS

Techniques are disclosed relating to implementing a statement-level INSTEAD OF trigger. In one embodiment a computer system receives a database operation statement specifying performance of a particular database operation on one or more database views of selected data from a database, wherein a given database trigger of one or more statement-level database triggers is executable to initiate execution of at least one trigger instruction for the database instead of performing the particular database operation on a specified database view of the one or more database views. For a given database view of the one or more database views, the computer system stores a trigger function call in a function call data structure for each statement-level database trigger defined for the database operation statement and the given database view. The computer system executes the stored trigger function calls instead of executing the database operation statement.

REAL-TIME SEARCH ENGINE INDEXING AND SYNCHRONIZATION SYSTEM FOR RELATIONAL DATABASES

A system for real-time indexing and synchronization of relational databases with a search engine cluster. The system can retrieve datasets using NTILE queries, serialize the data, and load the data into the search engine index via a bulk API. Changes in the relational database can be captured using triggers and stored in a delta metadata table with table identifier, record identifier and type of change. Periodic scans of the delta metadata table can identify the changed records, which can then be retrieved and used to update the search engine index. The system can support parallel processing of data chunks and dynamic adaptation to new database fields without code changes. Users can search the indexed data through an interface that allows attribute-based filtering and hierarchical display of search results.