Querying a data source on a network
First Claim
1. A computer-implemented method, performed by a data processing system, of executing a computer program based on a query that is expressed in accordance with a query language applicable to a relational database, the computer program executed based at least in part on data stored in a tangible, non-transitory computer-readable medium, the executing including:
- receiving a SQL query, where the SQL query includes an identifier associated with a resource that is external to the data processing system;
generating the computer program based on the SQL query, including;
identifying a catalog including at least one entry associated with the resource, the at least one entry representing configuration data usable to configure a computer program to transmit instructions to the resource for the purpose of receiving data,identifying an executing system other than a system managing a relational database,generating a request to a query planner based on the SQL query,providing the request to the query planner,receiving a query plan generated by the query planner based on the request, the query plan including a description of one or more steps to be performed by a system managing a relational database, andgenerating the computer program based on the query plan, wherein at least a portion of the generated computer program is configured to communicate with the resource based on the at least one entry of the catalog;
receiving, from the identified catalog, the configuration data; and
executing the computer program on the identified executing system, based on the configuration data, the execution of the computer program causing;
transmitting one or more instructions to the resource, the instructions defining operations other than operations of the SQL query, andreceiving data from the resource in response to the instructions.
3 Assignments
0 Petitions
Accused Products
Abstract
Among other things, we describe a computer-implemented method, performed by a data processing system, of executing a computer program based on a query that is expressed in accordance with a query language applicable to a relational database, the computer program executed based at least in part on data stored in a tangible, non-transitory computer-readable medium, the executing including receiving a SQL query, where the SQL query includes an identifier associated with a resource that is external to the data processing system, generating a computer program based on the SQL query, and executing the computer program, causing transmitting one or more instructions to the resource, the instructions defining operations other than operations of the SQL query, and receiving data from the resource in response to the instructions.
132 Citations
47 Claims
-
1. A computer-implemented method, performed by a data processing system, of executing a computer program based on a query that is expressed in accordance with a query language applicable to a relational database, the computer program executed based at least in part on data stored in a tangible, non-transitory computer-readable medium, the executing including:
-
receiving a SQL query, where the SQL query includes an identifier associated with a resource that is external to the data processing system; generating the computer program based on the SQL query, including; identifying a catalog including at least one entry associated with the resource, the at least one entry representing configuration data usable to configure a computer program to transmit instructions to the resource for the purpose of receiving data, identifying an executing system other than a system managing a relational database, generating a request to a query planner based on the SQL query, providing the request to the query planner, receiving a query plan generated by the query planner based on the request, the query plan including a description of one or more steps to be performed by a system managing a relational database, and generating the computer program based on the query plan, wherein at least a portion of the generated computer program is configured to communicate with the resource based on the at least one entry of the catalog; receiving, from the identified catalog, the configuration data; and executing the computer program on the identified executing system, based on the configuration data, the execution of the computer program causing; transmitting one or more instructions to the resource, the instructions defining operations other than operations of the SQL query, and receiving data from the resource in response to the instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A data processing system including a hardware processor and memory, the data processing system capable of executing a computer program based on a query that is expressed in accordance with a query language applicable to a relational database, the computer program executed based at least in part on data stored in a tangible, non-transitory computer-readable medium, the data processing system configured to perform operations including:
-
receiving a SQL query, where the SQL query includes an identifier associated with a resource that is external to the data processing system; generating the computer program based on the SQL query, including; identifying a catalog including at least one entry associated with the resource, the at least one entry representing configuration data usable to configure a computer program to transmit instructions to the resource for the purpose of receiving data, identifying an executing system other than a system managing a relational database, generating a request to a query planner based on the SQL query, providing the request to the query planner, receiving a query plan generated by the query planner based on the request, the query plan including a description of one or more steps to be performed by a system managing a relational database, and generating the computer program based on the query plan, wherein at least a portion of the generated computer program is configured to communicate with the resource based on the at least one entry of the catalog; receiving, from the identified catalog, the configuration data; and executing the computer program on the identified executing system, based on the configuration data, the execution of the computer program causing; transmitting one or more instructions to the resource, the instructions defining operations other than operations of the SQL query, and receiving data from the resource in response to the instructions. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A non-transitory computer readable storage device storing instructions that enable a data processing system to execute a computer program based on a query that is expressed in accordance with a query language applicable to a relational database, the computer program executed based at least in part on data stored in a tangible, non-transitory computer-readable medium, the instructions causing the data processing system to perform operations including:
-
receiving a SQL query, where the SQL query includes an identifier associated with a resource that is external to the data processing system; generating the computer program based on the SQL query, including; identifying a catalog including at least one entry associated with the resource, the at least one entry representing configuration data usable to configure a computer program to transmit instructions to the resource for the purpose of receiving data, identifying an executing system other than a system managing a relational database, generating a request to a query planner based on the SQL query, providing the request to the query planner, receiving a query plan generated by the query planner based on the request, the query plan including a description of one or more steps to be performed by a system managing a relational database, and generating the computer program based on the query plan, wherein at least a portion of the generated computer program is configured to communicate with the resource based on the at least one entry of the catalog; receiving, from the identified catalog, the configuration data; and executing the computer program on the identified executing system, based on the configuration data, the execution of the computer program causing; transmitting one or more instructions to the resource, the instructions defining operations other than operations of the SQL query, and receiving data from the resource in response to the instructions. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. A data processing system capable of executing a computer program based on a query that is expressed in accordance with a query language applicable to a relational database, the computer program executed based at least in part on data stored in a tangible, non-transitory computer-readable medium, the data processing system including:
-
means for receiving a SQL query, where the SQL query includes an identifier associated with a resource that is external to the data processing system; means for generating the computer program based on the SQL query, including; identifying a catalog including at least one entry associated with the resource, the at least one entry representing configuration data usable to configure a computer program to transmit instructions to the resource for the purpose of receiving data, identifying an executing system other than a system managing a relational database, generating a request to a query planner based on the SQL query, providing the request to the query planner, receiving a query plan generated by the query planner based on the request, the query plan including a description of one or more steps to be performed by a system managing a relational database, and generating the computer program based on the query plan, wherein at least a portion of the generated computer program is configured to communicate with the resource based on the at least one entry of the catalog; receiving, from the identified catalog, the configuration data; and means for executing the computer program on the identified executing system, based on the configuration data, the execution of the computer program causing; transmitting one or more instructions to the resource, the instructions defining operations other than operations of the SQL query, and receiving data from the resource in response to the instructions.
-
Specification