Approach for publishing data in a relational database system
First Claim
1. A method for processing queries in a database system, the method comprising the steps of:
- receiving, from a client, a query that is written in a query language supported by the database system;
detecting that particular data stored in the database system has been changed, wherein the particular data satisfied the query prior to being changed and continues to satisfy the query after being changed; and
in response to detecting that the particular data stored in the database system has been changed, sending a notification to the client.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for implementing a content-based publish-and-subscribe system in a relational database system. A subscriber may request for messages by using a query language supported by the database server. The queries are then used as subscription rules for determining whether an incoming message is to be sent to the subscriber. Evaluation of incoming messages against subscription rules involves a two-tier process. The first tier involves filtering out all the subscription rules that could not possibly apply to the incoming message. The second tier involves further evaluation of the incoming message, if needed, to determine which subscribers are to receive the incoming message. In another aspect of the embodiment, in cases where the publisher is the relational database system itself, queries that request for messages are not stored as subscription rules because publication of the messages is implicit. In this situation, a query is received from a client that is written in a query language supported by the database system. The query is a request for data stored in the database system that satisfies the query. A detection is made that the data stored in the database system has been changed and in response, the changed data is provided to the client.
81 Citations
24 Claims
-
1. A method for processing queries in a database system, the method comprising the steps of:
-
receiving, from a client, a query that is written in a query language supported by the database system;
detecting that particular data stored in the database system has been changed, wherein the particular data satisfied the query prior to being changed and continues to satisfy the query after being changed; and
in response to detecting that the particular data stored in the database system has been changed, sending a notification to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for processing queries in a database system, the method comprising the steps of:
-
receiving, from a client, a query that is written in a query language supported by the database system;
storing the query in the database system as a subscription rule;
detecting that particular data stored in the database system has been changed from a first state to a second state, wherein the particular data in at least one of the first and second states satisfies the query; and
in response to detecting that the particular data stored in the database system has been changed, sending a notification to the client.
-
-
9. A computer-readable medium for processing queries in a database system, the computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
receiving, from a client, a query that is written in a query language supported by the database system;
detecting that particular data stored in the database system has been changed, wherein the particular data satisfied the query prior to being changed and continues to satisfy the query after being changed; and
in response to detecting that the particular data stored in the database system has been changed, sending a notification to the client. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer-readable medium for processing queries in a database system, the computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
receiving, from a client, a query that is written in a query language supported by the database system;
storing the query in the database system as a subscription rule;
detecting that particular data stored in the database system has been changed from a first state to a second state, wherein the particular data in at least one of the first and second states satisfies the query; and
in response to detecting that the particular data stored in the database system has been changed, sending a notification to the client.
-
-
17. A computer system for processing queries in a database system, the computer system comprising a memory that includes one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
receiving, from a client, a query that is written in a query language supported by the database system;
detecting that particular data stored in the database system has been changed, wherein the particular data satisfied the query prior to being changed and continues to satisfy the query after being changed; and
in response to detecting that the particular data stored in the database system has been changed, sending a notification to the client. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A computer system for processing queries in a database system, the computer system comprising a memory that includes one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
receiving, from a client, a query that is written in a query language supported by the database system;
storing the query in the database system as a subscription rule;
detecting that particular data stored in the database system has been changed from a first state to a second state, wherein the particular data in at least one of the first and second states satisfies the query; and
in response to detecting that the particular data stored in the database system has been changed, sending a notification to the client.
-
Specification