IP Library Granted Patent US 10,496,641
Granted Patent B2
US 10,496,641 · App. 16/030,628 · Granted Dec 3, 2019

Systems, methods and techniques for polymorphic queries

Inventor: Seth John White (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F16/24534G06F16/248G06F16/2428G06F16/2433G06F16/2448G06F16/2455G06F16/252
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,496,641
App. No.
16/030,628
Granted
Dec 3, 2019
Kind
B2
Abstract

Techniques for providing polymorphic query requests. A request is received that has at least a database query. The database query comprises at least an expression using a polymorphic relationship. The request is processed utilizing the polymorphic relationship. A user-readable result is provided for the query where the result is defined by at least the polymorphic relationship.

Claims (33)

1. A method for polymorphic selection of data from a database storing data on at least one memory device and managed by one or more hardware processors, the method comprising:

receiving, with the one or more processors, a request that has at least a database query comprising at least an expression using a polymorphic relationship and a SELECT clause;

adding, with the one or more processors, a TYPEOF expression to the SELECT clause to function as a case expression to allow specification of fields of a related parent object that are to be selected based on the polymorphic relationship;

processing the request utilizing the polymorphic relationship, with the one or more processors, by running the query against a portion of a set of data in the database; and

transmitting, with the one or more processors, a result for the database query, where the result is defined by at least the polymorphic relationship, to a remote electronic device.

2. The method of claim 1 wherein the database query is for a multitenant database.

3. The method of claim 1 wherein the expression selects different fields form a target of a polymorphic reference based on target type.

4. The method of claim 3 wherein the query is processed as a plurality of batches.

5. The method of claim 1 wherein the remote electronic device comprises a mobile computing device.

6. The method of claim 1 wherein the polymorphic relationship is determined based on input received via a user interface.

7. An article comprising a non-transitory computer-readable medium having instructions for polymorphic selection of data from a database storing data on at least one memory device and managed by one or more hardware processors that, when executed by one or more processors, cause the one or more processors to:

receive, with the one or more processors, a request that has at least a database query comprising at least an expression using a polymorphic relationship and a SELECT clause;

add, with the one or more processors, a TYPEOF expression to the SELECT clause to function as a case expression to allow specification of fields of a related parent object that are to be selected based on the polymorphic relationship;

process the request utilizing the polymorphic relationship, with the one or more processors, by running the query against a portion of a set of data in the database; and

transmit, with the one or more processors, a result for the database query, where the result is defined by at least the polymorphic relationship, to a remote electronic device.

8. The article of claim 7 wherein the database query is for a multitenant database.

9. The article of claim 7 wherein the query is processed as a plurality of batches.

10. The article of claim 7 wherein the remote electronic device comprises a mobile computing device.

11. The article of claim 7 wherein the polymorphic relationship is determined based on input received via a user interface.

12. An apparatus for polymorphic selection of data from a database storing data on at least one memory device and managed by one or more hardware processors, the apparatus comprising:

means for receiving, with the one or more processors, a request that has at least a database query comprising at least an expression using a polymorphic relationship and a SELECT clause;

means for adding, with the one or more processors, a TYPEOF expression to the SELECT clause to function as a case expression to allow specification of fields of a related parent object that are to be selected based on the polymorphic relationship;

means for processing the request utilizing the polymorphic relationship, with the one or more processors, by running the query against a portion of a set of data in the database; and

means for transmitting, with the one or more processors, a result for the database query, where the result is defined by at least the polymorphic relationship, to a remote electronic device.

13. The apparatus of claim 12 wherein the database query is for a multitenant database.

14. The apparatus of claim 12 wherein the remote electronic device comprises a mobile computing device.

15. The apparatus of claim 12 wherein the polymorphic relationship is determined based on input received via a user interface.

16. A system comprising:

one or more user systems;

one or more server systems communicatively coupled with the one or more user systems, the server system to receive, with the one or more processors, a request that has at least a database query comprising at least an expression using a polymorphic relationship and a SELECT clause, to add, with the one or more processors, a TYPEOF expression to the SELECT clause to function as a case expression to allow specification of fields of a related parent object that are to be selected based on the polymorphic relationship, to process the request utilizing the polymorphic relationship, with the one or more processors, by running the query against a portion of a set of data in the database, to transmit, with the one or more processors, a result for the database query, where the result is defined by at least the polymorphic relationship, to a remote electronic device.

17. The system of claim 16 wherein the query is processed as a plurality of batches.

18. The system of claim 16 wherein the remote electronic device comprises a mobile computing device.

19. The system of claim 16 wherein the polymorphic relationship is determined based on input received via a user interface.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2018
From: WHITE, SETH JOHN
To: SALESFORCE.COM, INC.
Reel/Frame 046653/0973 →
Continuity (4)
Continuation 15225750 · Aug 1, 2016
Continuation 14014010 · Aug 29, 2013
Provisional Application 61679045 · Sep 5, 2012
Related Publication 20180314730A1 · Nov 1, 2018