Optimizing result presentation of a database operation
First Claim
Patent Images
1. A method comprising:
- receiving, with a database query agent provided by a hardware database server, one or more database queries;
parsing the one or more database queries to determine whether any of the one or more database queries have not been specified with an explicit total order;
inserting automatically and with the database query agent on the hardware database server, for the one or more database queries without an explicit total order, one or more query clauses to support paging of query results to generate, automatically and without user action, an improved database query, wherein the one or more clauses include at least a LIMIT clause in combination with at least an OFFSET clause in salesforce object query language (SOQL) syntax, the OFFSET clause specify a number of starting rows to skip in a query result set;
causing, with the database query agent on the hardware database server, the improved database query to be performed within a multitenant database environment with the clauses to be used in displaying results from the improved database query in a paged format on a user electronic device utilizing a stateless transfer that does not cause data to be cached in a middle tier, wherein the one or more clauses inserted by the improved database query agent indicate a subset within the results from the improved database query to be presented, wherein tenant data is arranged so that data of one tenant is kept logically separate from tenant data of other tenants;
imposing, with the database query agent on the hardware database server, an order on the results from the improved database query with the database server to ensure the query result set ordering is consistent; and
returning, with the database query agent on the hardware database server, the subset as determined by the one or more clauses inserted by the database query agent to the user electronic device.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for optimizing result presentation for a database query. A database query is received. The database query is performed with a clause indicating one or more offset values to be used in displaying results from the database query. The one or more offset values indicate a subset within the results from the database query to be presented. An order is imposed on the results from the database query. The subset is presented as determined by the one or more offset values.
121 Citations
18 Claims
-
1. A method comprising:
-
receiving, with a database query agent provided by a hardware database server, one or more database queries; parsing the one or more database queries to determine whether any of the one or more database queries have not been specified with an explicit total order; inserting automatically and with the database query agent on the hardware database server, for the one or more database queries without an explicit total order, one or more query clauses to support paging of query results to generate, automatically and without user action, an improved database query, wherein the one or more clauses include at least a LIMIT clause in combination with at least an OFFSET clause in salesforce object query language (SOQL) syntax, the OFFSET clause specify a number of starting rows to skip in a query result set; causing, with the database query agent on the hardware database server, the improved database query to be performed within a multitenant database environment with the clauses to be used in displaying results from the improved database query in a paged format on a user electronic device utilizing a stateless transfer that does not cause data to be cached in a middle tier, wherein the one or more clauses inserted by the improved database query agent indicate a subset within the results from the improved database query to be presented, wherein tenant data is arranged so that data of one tenant is kept logically separate from tenant data of other tenants; imposing, with the database query agent on the hardware database server, an order on the results from the improved database query with the database server to ensure the query result set ordering is consistent; and returning, with the database query agent on the hardware database server, the subset as determined by the one or more clauses inserted by the database query agent to the user electronic device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An article comprising a non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, are configurable to cause the one or more processors to:
-
receive, with a database query agent provided by a hardware database server, one or more database queries; parse the one or more database queries to determine whether any of the one or more database queries have not been specified with an explicit total order; insert automatically and with the database query agent on the hardware database server, for the one or more database queries without an explicit total order, one or more query clauses to support paging of query results to generate, automatically and without user action, an improved database query, wherein the one or more clauses include at least a LIMIT clause in combination with at least an OFFSET clause in salesforce object query language (SOQL) syntax, the OFFSET clause specify a number of starting rows to skip in a query result set; cause, with the database query agent on the hardware database server, the improved database query to be performed within a multitenant database environment with the clauses to be used in displaying results from the improved database query in a paged format on a user electronic device utilizing a stateless transfer that does not cause data to be cached in a middle tier, wherein the one or more clauses inserted by the improved database query agent indicate a subset within the results from the improved database query to be presented, wherein tenant data is arranged so that data of one tenant is kept logically separate from tenant data of other tenants; impose, with the database query agent on the hardware database server, an order on the results from the improved database query with the database server to ensure the query result set ordering is consistent; and return, with the database query agent on the hardware database server, the subset as determined by the one or more clauses inserted by the database query agent to the user electronic device. - View Dependent Claims (7, 8, 9, 10)
-
-
11. An apparatus comprising:
-
means for receiving, with a database query agent provided by a hardware database server, one or more database queries; means for parsing the one or more database queries to determine whether any of the one or more database queries have not been specified with an explicit total order; means for inserting automatically and with the database query agent on the hardware database server, for the one or more database queries without an explicit total order, one or more query clauses to support paging of query results to generate, automatically and without user action, an improved database query, wherein the one or more clauses include at least a LIMIT clause in combination with at least an OFFSET clause in salesforce object query language (SOQL) syntax, the OFFSET clause specify a number of starting rows to skip in a query result set; means for causing, with the database query agent on the hardware database server, the improved database query to be performed within a multitenant database environment with the clauses to be used in displaying results from the improved database query in a paged format on a user electronic device utilizing a stateless transfer that does not cause data to be cached in a middle tier, wherein the one or more clauses inserted by the improved database query agent indicate a subset within the results from the improved database query to be presented, wherein tenant data is arranged so that data of one tenant is kept logically separate from tenant data of other tenants; means for imposing, with the database query agent on the hardware database server, an order on the results from the improved database query with the database server to ensure the query result set ordering is consistent; and means for returning, with the database query agent on the hardware database server, the subset as determined by the one or more clauses inserted by the database query agent to the user electronic device. - View Dependent Claims (12, 13)
-
-
14. A system comprising:
a server system to provide a multitenant environment, wherein the multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one or more users associated with the tenant ID, users of each of multiple client identities can only access data identified by a tenant ID associated with the respective client entity, and the multitenant environment is at least a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities, the server system further configurable to receive, with a database query agent provided by a hardware database server, one or more database queries, to parse the one or more database queries to determine whether any of the one or more database queries have not been specified with an explicit total order, to insert automatically and with the database query agent on the hardware database server, for the one or more database queries without an explicit total order, one or more query clauses to support paging of query results to generate, automatically and without user action, an improved database query, wherein the one or more clauses include at least a LIMIT clause in combination with at least an OFFSET clause in salesforce object query language (SOQL) syntax, the OFFSET clause specify a number of starting rows to skip in a query result set, to cause, with the database query agent on the hardware database server, the improved database query to be performed within a multitenant database environment with the clauses to be used in displaying results from the improved database query in a paged format on a user electronic device utilizing a stateless transfer that does not cause data to be cached in a middle tier, wherein the one or more clauses inserted by the improved database query agent indicate a subset within the results from the improved database query to be presented, wherein tenant data is arranged so that data of one tenant is kept logically separate from tenant data of other tenants, to impose, with the database query agent on the hardware database server, an order on the results from the improved database query with the database server to ensure the query result set ordering is consistent, and to return, with the database query agent on the hardware database server, the subset as determined by the one or more clauses inserted by the database query agent to the user electronic device. - View Dependent Claims (15, 16, 17, 18)
Specification