Method and system for supporting scrollable, updatable database queries
First Claim
1. A computer-readable medium containing instructions for causing a computer system to retrieve data from a database having a source table, the source table having rows with data, by:
- receiving a query request that identifies a subset of rows of the source table;
generating a query result table containing references to rows of the source table that are identified by the received query request;
receiving a retrieve request to retrieve data from a specified source table row identified by the received query request;
retrieving from the query result table the reference to the specified source table row; and
retrieving the data from the specified source table row using the retrieved reference to locate the specified source table row.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for supporting scrollable, updatable database queries is provided. In a preferred embodiment, a database engine receives a query request specifying the retrieval of data from a source table stored by the engine. The engine then generates a query table that contains references to rows of a source table that satisfy the query request. The engine then receives one or more retrieve requests requesting that data specified by the query be provided by the engine. For each retrieval request, the engine retrieves data from the source table using one Or more references from the query table.
73 Citations
45 Claims
-
1. A computer-readable medium containing instructions for causing a computer system to retrieve data from a database having a source table, the source table having rows with data, by:
-
receiving a query request that identifies a subset of rows of the source table; generating a query result table containing references to rows of the source table that are identified by the received query request; receiving a retrieve request to retrieve data from a specified source table row identified by the received query request; retrieving from the query result table the reference to the specified source table row; and retrieving the data from the specified source table row using the retrieved reference to locate the specified source table row. - View Dependent Claims (2, 3)
-
-
4. A method in a computer system for displaying data retrieved from a source table in a database, the source table having rows with data, the computer system having a front-end program and a database engine, the method comprising:
-
under control of the front-end program, receiving from a user a query request to retrieve rows of data from the database, the query request indicating a criterion that the data of the retrieved rows is to satisfy; and sending the received query request to the database engine; under control of the database engine, receiving the sent query request; identifying those rows of the source table with data that satisfies the criterion of the received query request; and for each identified row, storing in a row of a query result table a reference to the identified row; and for each of a plurality of retrieve requests to retrieve data that satisfies the criterion of the query request, under control of the front-end program, receiving the retrieve request from a user; and sending the received retrieve request to the database engine; under control of the database engine, receiving the sent retrieve request; in response to receiving the sent retrieve request, retrieving, from a row of the query result table, the stored reference to an identified row of the source table; using the retrieved reference to retrieve from the source table the data of the identified row; and sending the retrieved data to the front-end program; and under control of the front-end program, receiving the sent data; and displaying the received data. - View Dependent Claims (42, 43, 44, 45)
-
-
5. A method in a database engine of a computer system for supplying to a computer program records from a database, each record having data and a record identifier, the method comprising:
-
receiving from the computer program a query request with a selection criterion for selecting records that satisfy the selection criterion; selecting the records of the database that satisfy the selection criterion; storing the record identifiers of each selected record; receiving from the computer program a plurality of retrieve requests to retrieve data from the records that satisfy the selection criterion; and for each received retrieve request, selecting a stored record identifier; retrieving the record from the database that is identified by the selected record identifier; and sending to the computer program the retrieved record. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A method in a computer system for propagating changes to data contained in records of a database from the database to a display of the data, the display generated by a front-end display program, the method comprising:
-
receiving from the front-end display program a query request that identifies records of the database; generating a query result table containing references to records of the database that are identified by the received query request; receiving a retrieve request from the front-end display program to retrieve data from a specified record identified by the received query request; retrieving from the query result table the reference to the specified record; retrieving the specified record from the database using the retrieved reference to locate the specified record in the database; determining whether the data of the specified record has been changed since the specified record was last accessed by the front-end display program; and when it is determined that the data of the specified record has changed, notifying the front-end display program that the data in the specified record has been changed so that the front-end display program can update the display. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. An apparatus for providing a current version of a subset of the data contained in a database having a source table, the source table having rows with data, the subset of the data specified by execution of a database query, execution of the database query identifying source table rows and generating a query result table, the query result table comprised of rows containing references to the identified source table rows, the apparatus comprising:
-
a source table memory for storing the contents of the source table; a query memory for storing the query result table; and a query contents retrieval engine for, in response to a request to retrieve data from the subset of data contained in the identified source table rows, specifying a row of the query result table, reading the reference from the row of the query result table, and using the read reference to retrieve and provide at least a portion of the referenced source table row. - View Dependent Claims (23, 24)
-
-
25. A method in a computer system for retrieving data from a database having a plurality of source tables, the source tables having rows with data, the method comprising:
-
receiving a query request that identifies a subset of source table rows from among the plurality of source tables; generating a query result table containing references to source table rows that are identified by the received query request; receiving a retrieve request to retrieve data from specified source table rows identified by the received query request; retrieving from the query result table the references to the specified source table rows from among the plurality of source tables; and retrieving the data from the specified source table rows using the retrieved references to locate the specified source table rows from among the plurality of source tables. - View Dependent Claims (26, 27)
-
-
28. A computer-readable medium containing instructions for causing a computer system to propagate changes to data contained in database source table rows from the source table rows to a display of the data, the display generated by a front-end display program, by:
-
receiving a query request that identifies a subset of rows of the source table; generating a query result table containing references to rows of the source table that are identified by the received query request; receiving a retrieve request from the front-end display program to retrieve data from a specified source table row identified by the received query request; retrieving from the query result table the reference to the specified source table row; retrieving the specified source table row using the retrieved reference to locate the specified source table row; determining whether the data of the specified source table row has been changed since the specified source table row was last accessed by the front-end display program; and when it is determined that the data of the specified source row table has changed, notifying the front-end display program that the data in the specified source table row has been changed so that the front-end display program can update the display. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A database engine of a computer system for supplying to a computer program records from a database, each record having data and a record identifier, comprising:
-
means for receiving from the computer program a query request with a selection criterion for selecting records that satisfy the selection criterion; means for selecting the records of the database that satisfy the selection criterion; means for storing the record identifiers of each selected record; means for receiving from the computer program a plurality of retrieve requests to retrieve data from the records that satisfy the selection criterion; and means for each received retrieve request, selecting a stored record identifier; retrieving the record from the database that is identified by the selected record identifier; and sending to the computer program the retrieved record.
-
Specification