INFERRING DIMENSIONAL METADATA FROM CONTENT OF A QUERY
First Claim
1. A method comprising:
- storing a query that references multiple tables;
analyzing content of the query to determine which of the multiple tables could be fact tables, wherein the multiple tables include one or more candidate fact tables that could be fact tables and one or more other tables that could not be fact tables;
based at least in part on determining which of the multiple tables could be fact tables, generating an execution plan for the query, the execution plan operating on a candidate fact table of the one or more candidate fact tables and one or more candidate dimension tables of the referenced multiple tables other than the candidate fact table;
wherein the execution plan, when performed, processes at least some data from at least one dimension using at least one of the one or more candidate dimension tables before processing at least some data from the candidate fact table;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, computer systems, and stored instructions are described herein for inferring dimensional metadata from content of a query that references tables. A server analyzes the content of the query to determine which table(s) of the referenced tables could be fact tables and/or which table(s) of the referenced tables could be dimension tables. The server transforms the query to a transformed query that operates on a candidate fact table and candidate dimension table(s) of the referenced tables other than the candidate fact table. The transformed query, when executed, processes at least some data from dimension(s) using the candidate dimension table(s) before processing at least some data from the candidate fact table. Alternatively or additionally, the server generates an execution plan that operates on the candidate fact table and the candidate dimension table(s). The execution plan, when performed, processes data from dimension(s) using the candidate dimension table(s) before processing data from the candidate fact table.
-
Citations
26 Claims
-
1. A method comprising:
-
storing a query that references multiple tables; analyzing content of the query to determine which of the multiple tables could be fact tables, wherein the multiple tables include one or more candidate fact tables that could be fact tables and one or more other tables that could not be fact tables; based at least in part on determining which of the multiple tables could be fact tables, generating an execution plan for the query, the execution plan operating on a candidate fact table of the one or more candidate fact tables and one or more candidate dimension tables of the referenced multiple tables other than the candidate fact table;
wherein the execution plan, when performed, processes at least some data from at least one dimension using at least one of the one or more candidate dimension tables before processing at least some data from the candidate fact table;wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
storing a query that references multiple tables; analyzing content of the query to determine which of the multiple tables could be fact tables, wherein the multiple tables include one or more candidate fact tables that could be fact tables and one or more other tables that could not be fact tables; based at least in part on determining which of the multiple tables could be fact tables, transforming the query to a transformed query that operates on a candidate fact table of the one or more candidate fact tables and one or more candidate dimension tables of the referenced multiple tables other than the candidate fact table;
wherein the transformed query, when executed, processes at least some data from at least one dimension using at least one of the one or more candidate dimension tables before processing at least some data from the candidate fact table;wherein the method is performed by one or more computing devices. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. One or more non-transitory computer-readable storage media storing instructions which, when executed, cause:
-
storing a query that references multiple tables; analyzing content of the query to determine which of the multiple tables could be fact tables, wherein the multiple tables include one or more candidate fact tables that could be fact tables and one or more other tables that could not be fact tables; based at least in part on determining which of the multiple tables could be fact tables, generating an execution plan for the query, the execution plan operating on a candidate fact table of the one or more candidate fact tables and one or more candidate dimension tables of the referenced multiple tables other than the candidate fact table;
wherein the execution plan, when performed, processes at least some data from at least one dimension using at least one of the one or more candidate dimension tables before processing at least some data from the candidate fact table. - View Dependent Claims (15, 16, 17, 18)
-
-
19. One or more non-transitory computer-readable storage media storing instructions which, when executed, cause:
-
storing a query that references multiple tables; analyzing content of the query to determine which of the multiple tables could be fact tables, wherein the multiple tables include one or more candidate fact tables that could be fact tables and one or more other tables that could not be fact tables; based at least in part on determining which of the multiple tables could be fact tables, transforming the query to a transformed query that operates on a candidate fact table of the one or more candidate fact tables and one or more candidate dimension tables of the referenced multiple tables other than the candidate fact table;
wherein the transformed query, when executed, processes at least some data from at least one dimension using at least one of the one or more candidate dimension tables before processing at least some data from the candidate fact table. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
Specification