The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Oct. 05, 2010
Filed:
Nov. 02, 2006
Andrew Witkowski, Foster City, CA (US);
Srikanth Bellamkonda, Sunnyvale, CA (US);
Tolga Bozkaya, Belmont, CA (US);
Abhinav Gupta, Santa Clara, CA (US);
Nathan Folkert, San Francisco, CA (US);
Sankar Subramanian, Cupertino, CA (US);
Andrew Witkowski, Foster City, CA (US);
Srikanth Bellamkonda, Sunnyvale, CA (US);
Tolga Bozkaya, Belmont, CA (US);
Abhinav Gupta, Santa Clara, CA (US);
Nathan Folkert, San Francisco, CA (US);
Sankar Subramanian, Cupertino, CA (US);
Oracle International Corporation, Redwood Shores, CA (US);
Abstract
Described herein are optimizations and execution strategies for spreadsheet extensions to SQL. The partitioning of data, as specified in a spreadsheet clause, provides a way to parallelize the computation of spreadsheet and to provide and improve scalability. Even if the partitioning is not explicitly specified in the spreadsheet clause, the database optimizer can automatically infer the partitioning in some cases. Efficient hash based access structures on relations can be used for symbolic array addressing, enabling fast computation of formulas. When rewriting SQL statements, formulas whose results are not referenced in outer blocks can be removed from the spreadsheet clause, thus removing unnecessary computations. The predicates from other query blocks can be moved inside query blocks with spreadsheets clauses, thus considerably reducing the amount of data to be processed. Conditions for validity of this transformation are given.