IP Library Granted Patent US 12675472
Granted Patent B2
US 12675472 · App. 15/453,386 · Granted Jul 7, 2026

Source independent query language

Inventor: Thomas R. Kennedy, Jr. (Miami Beach, FL)
Assignee: JITTERBIT, INC.
G06F16/2448
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 12675472
App. No.
15/453,386
Granted
Jul 7, 2026
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, by a computer system, a statement to perform operations on data stored in a data storing application, the data including fields. The method includes identifying a query language based on the data store. The method includes transforming the received statement into a query language specific statement. The method includes identifying at least one operation of the operations that is not supported by the query language specific statement. The method includes obtaining a function to replace the unsupported operation. The method includes applying the function to the query language specific statement. The method also includes providing the query language specific statement to the data storing application for processing.

Claims (47)

1 . A computer-implemented method, the method comprising:

receiving, by a computer system, an executable statement comprising a plurality of operations on data stored in a data storing application, the data including fields, each operation of the plurality of operations being associated with an action;

identifying, at a query processor, a first database query language that is associated with a data store of the data storing application, the first database query language being identified from among a plurality of available database query languages;

for the received executable statement:

transforming, based on the first database query language, the received executable statement into a database query language specific statement for the data store of the data storing application, the database query language specific statement being of the first database query language;

identifying at least one operation of the plurality of operations that is not supported by the first database query language for the data store;

obtaining a function by retrieving, over a network, the function from a function library that is remote from and logically independent of the data store, the function being in a second database query language other than the first database query language of the database query language specific statement, the function comprising at least one substitute operation that is configured to perform one or more different actions than the respective action of the at least one operation of the plurality of operations that is not supported by the database query language specific statement for the data store, wherein performing the one or more different actions by the substitute operation causes an equivalent result as performing the respective action of the at least one operation that is not supported;

encapsulating the database query language specific statement and the function together as a single package;

and

providing the single package to the data store, wherein the data store engine executes the database query language specific statement to obtain intermediate results, and then sequentially invokes the function in-line on the intermediate results within the data store engine, such that execution of the database query language specific statement and the function performs each of the operations of the plurality of operations.

2 . The computer implemented method of claim 1 , wherein the function accepts multiple inputs and produces a single output.

3 . The computer implemented method of claim 1 , wherein the function changes a value of a data element absent changing a type of the data element.

4 . The computer-implemented method of claim 1 , wherein the function changes a format of a data element.

5 . The computer implemented method of claim 1 , wherein the statement is a SQL statement and the application is a NoSQL database.

6 . The method of claim 1 , wherein applying the function with at least a portion of the database query language specific statement comprises:

applying at least the portion of the database query language specific statement to the data store to obtain intermediate results; and

applying the function to the intermediate results.

7 . The method of claim 1 , wherein the first database query language comprises a first proprietary database query language, and wherein the second database query language comprises a second proprietary database query language different from the first proprietary database query language.

8 . 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:

receiving, by a computer system, an executable statement comprising a plurality of operations on data stored in a data storing application, the data including fields, each operation of the plurality of operations being associated with an action;

identifying, at a query processor, a first database query language that is associated with a data store of the data storing application, the first database query language being identified from among a plurality of available database query languages;

for the received executable statement:

transforming, based on the first database query language, the received executable statement into a database query language specific statement for the data store of the data storing application, the database query language specific statement being of the first database query language;

identifying at least one operation of the plurality of operations that is not supported by the first database query language for the data store;

obtaining a function by retrieving, over a network, the function from a function library that is remote from and logically independent of the data store, the function being in a second database query language other than the first database query language of the database query language specific statement, the function comprising at least one substitute operation that is configured to perform one or more different actions than the respective action of the at least one operation of the plurality of operations that is not supported by the database query language specific statement for the data store, wherein performing the one or more different actions by the substitute operation causes an equivalent result as performing the respective action of the at least one operation that is not supported;

encapsulating the database query language specific statement and the function together as a single package;

and

providing the single package to the data store, wherein the data store engine executes the database query language specific statement to obtain intermediate results, and then sequentially invokes the function in-line on the intermediate results within the data store engine, such that execution of the database query language specific statement and the function performs each of the operations of the plurality of operations.

9 . The non-transitory computer storage medium of claim 8 , wherein the function accepts multiple inputs and produces a single output.

10 . The non-transitory computer storage medium of claim 8 , wherein the function changes a value of a data element absent changing a type of the data element.

11 . The non-transitory computer storage medium of claim 8 , wherein the function changes a format of a data element.

12 . The non-transitory computer storage medium of claim 8 , wherein the statement is a SQL statement and the application is a NoSQL database.

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:

receiving, by a computer system, an executable statement comprising a plurality of operations on data stored in a data storing application, the data including fields, each operation of the plurality of operations being associated with an action;

identifying, at a query processor, a first database query language that is associated with a data store of the data storing application, the first database query language being identified from among a plurality of available database query languages;

for the received executable statement:

transforming, based on the first database query language, the received executable statement into a database query language specific statement for the data store of the data storing application, the database query language specific statement being of the first database query language;

identifying at least one operation of the plurality of operations that is not supported by the first database query language for the data store;

obtaining a function by retrieving, over a network, the function from a function library that is remote from and logically independent of the data store, the function being in a second database query language other than the first database query language of the database query language specific statement, the function comprising at least one substitute operation that is configured to perform one or more different actions than the respective action of the at least one operation of the plurality of operations that is not supported by the database query language specific statement for the data store, wherein performing the one or more different actions by the substitute operation causes an equivalent result as performing the respective action of the at least one operation that is not supported;

encapsulating the database query language specific statement and the function together as a single package;

and

providing the single package to the data store, wherein the data store engine executes the database query language specific statement to obtain intermediate results, and then sequentially invokes the function in-line on the intermediate results within the data store engine, such that execution of the database query language specific statement and the function performs each of the operations of the plurality of operations.

14 . The system of claim 13 , wherein the function accepts multiple inputs and produces a single output.

15 . The system of claim 13 , wherein the function changes a value of a data element absent changing a type of the data element.

16 . The system of claim 13 , wherein the function changes a format of a data element.

17 . The system of claim 13 , wherein the statement is a SQL statement and the application is a NoSQL database.