IP Library Granted Patent US 10,496,632
Granted Patent B2
US 10,496,632 · App. 14/963,674 · Granted Dec 3, 2019

Query processor

Inventor: Thomas R. Kennedy, Jr. (Miami Beach, FL)
Assignee: Vinyl Development LLC
G06F16/2365G06F16/2455
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,632
App. No.
14/963,674
Granted
Dec 3, 2019
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for a source independent query language. One of the methods includes receiving a first executable statement, the first executable statement referencing a second set of fields in a table in a relational database, the first executable statement having instructions to cause the database to perform operations on data in the table. The method includes generating a second executable statement based on the first set of fields and the first executable statement. The method includes determining a mapping between the first set of fields and the second set of fields. The method includes specifying a derived table using the corresponding values and the mapping. The method includes generating instructions to cause the database to perform the operations on the derived table. The method includes sending the second executable statement to the database.

Claims (82)

1. A computer-implemented method comprising:

obtaining a SQL statement according to a first syntax, the SQL statement including a first set of operations according to the first syntax, the SQL statement being associated with a resource;

identifying a command syntax based on a target data store for the SQL statement;

identifying an operation in the SQL statement having a functionality that is not supported by the target data store, the operation having a target represented in the SQL statement;

determining a function from a function library external to the target data store, the function comprising one or more substitute operations that are capable of performing the functionality of the operation;

generating at least one command according to the command syntax, the at least one command capable of instructing the target data store to perform at least some of the first set of operations including the one or more substitute operations;

determining, based on at least one other SQL statement associated with the resource, that a subset of data indicated by the target indicated in the SQL statement is responsive to the SQL statement for the resource, at least a portion of the data being absent from the subset of the data;

generating an updated target for the SQL statement, the updated target indicating the subset of the data;

providing the at least one command comprising the updated target to the target data store;

receiving the subset of data from the target data store, the received subset of the data responsive to the command; and

subsequent to receiving the subset of the data from the target data store, performing at least one operation on the received subset of the data using an in-memory database.

2. The computer-implemented method of claim 1 , wherein the target data store is a NoSQL database.

3. The computer-implemented method of claim 1 , wherein the command syntax is a proprietary variation of the SQL programing language.

4. The computer-implemented method of claim 1 , further comprising:

identifying another operation not supported by the target data store; and

determining another function from the function library capable of performing the other operation.

5. The computer-implemented method of claim 4 , further comprising:

determining whether the other operation applies to an input or an output; and

in response to determining the other operation applies to an input:

performing the other function against information provided in the SQL statement, and

including a result of the other function in the at least one commands.

6. The computer-implemented method of claim 4 , further comprising:

determining whether the other operation applies to an input or an output; and

in response to determining the other operation applies to an output:

generating the at least one command absent the operation,

providing the at least one command to the target data store, and

applying the other function to a result provided by the target data store in response to the at least one command.

7. A non-transitory computer storage medium encoded with computer program instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

obtaining a SQL statement according to a first syntax, the SQL statement including a first set of operations according to the first syntax, the SQL statement being associated with a resource;

identifying a command syntax based on a target data store for the SQL statement;

identifying an operation in the SQL statement having a functionality that is not supported by the target data store, the operation having a target represented in the SQL statement;

determining a function from a function library external to the target data store, the function comprising one or more substitute operations that are capable of performing the functionality of the operation;

generating at least one command according to the command syntax, the at least one command capable of instructing the target data store to perform at least some of the first set of operations including the one or more substitute operations;

determining, based on at least one other SQL statement associated with the resource, that a subset of data indicated by the target indicated in the SQL statement is responsive to the SQL statement for the resource, at least a portion of the data being absent from the subset of the data;

generating an updated target for the SQL statement, the updated target indicating the subset of the data;

providing the at least one command comprising the updated target to the target data store;

receiving the subset of the data from the target data store, the received subset of the data responsive to the command; and

subsequent to receiving the subset of the data from the target data store, performing at least one operation on the received subset of the data using an in-memory database.

8. The non-transitory computer storage medium of claim 7 , wherein the target data store is a NoSQL database.

9. The non-transitory computer storage medium of claim 7 , wherein the command syntax is a proprietary variation of the SQL programing language.

10. The non-transitory computer storage medium of claim 7 , further comprising:

identifying another operation not supported by the target data store; and

determining another function from the function library capable of performing the other operation.

11. The non-transitory computer storage medium of claim 10 , further comprising:

determining whether the other operation applies to an input or an output; and

in response to determining the other operation applies to an input:

performing the other function against information provided in the SQL statement, and

including a result of the other function in the at least one commands.

12. The non-transitory computer storage medium of claim 10 , further comprising:

determining whether the other operation applies to an input or an output; and

in response to determining the other operation applies to an output

generating the at least one command absent the other operation,

providing the at least one command to the target data store, and

applying the other function to a result provided by the target data store in response to the at least one command.

13. A system comprising:

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

obtaining a SQL statement according to a first syntax, the SQL statement including a first set of operations according to the first syntax, the SQL statement being associated with a resource;

identifying a command syntax based on a target data store for the SQL statement;

identifying an operation in the SQL statement having a functionality that is not supported by the target data store, the operation having a target represented in the SQL statement;

determining a function from a function library external to the target data store, the function comprising one or more substitute operations that are capable of performing the functionality of the operation;

generating at least one command according to the command syntax, the at least one command capable of instructing the target data store to perform at least some of the first set of operations including the one or more substitute operations;

determining, based on at least one other SQL statement associated with the resource, that a subset of data indicated by the target indicated in the SQL statement is responsive to the SQL statement for the resource, at least a portion of the data being absent from the subset of the data;

generating an updated target for the SQL statement, the updated target indicating the subset of the data;

providing the at least one command comprising the updated target to the target data store;

receiving the subset of the data from the target data store, the received subset of the data responsive to the command; and

subsequent to receiving the subset of the data from the target data store, performing at least one operation on the received subset of the data using an in-memory database.

14. The system of claim 13 , wherein the target data store is a NoSQL database.

15. The system of claim 13 , wherein the command syntax is a proprietary variation of the SQL programing language.

16. The system of claim 13 , further comprising:

identifying another operation not supported by the target data store; and

determining another function from the function library capable of performing the other operation.

17. The system of claim 16 , further comprising:

determining whether the other operation applies to an input or an output; and

in response to determining the other operation applies to an input:

performing the other function against information provided in the SQL statement, and

including a result of the other function in the at least one commands.

18. The system of claim 16 , further comprising:

determining whether the other operation applies to an input or an output; and

in response to determining the other operation applies to an output:

generating the at least one command absent the operation,

providing the at least one command to the target data store, and

applying the other function to a result provided by the target data store in response to the at least one command.

Assignments (4)
SECURITY INTEREST Recorded Mar 23, 2023
From: JITTERBIT, INC.
To: CRESTLINE DIRECT FINANCE, L.P.
Reel/Frame 063069/0088 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 062941 FRAME: 0640. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 15, 2023
From: VINYL DEVELOPMENT LLC
To: JITTERBIT, INC.
Reel/Frame 063101/0532 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2023
From: VINYL DEVELOPMENT, LLC
To: JITTERBIT, INC.
Reel/Frame 062941/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2016
From: KENNEDY, THOMAS R., JR.
To: VINYL DEVELOPMENT LLC
Reel/Frame 040900/0879 →
Continuity (1)
Related Publication 20170169068A1 · Jun 15, 2017
Cited By (4)
US 12,197,908 US 12,326,862 US 12,530,340 US 12,675,472