Patents by Inventor Thomas A. Beavin
Thomas A. Beavin has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20190087460Abstract: Provided are techniques for efficient subquery predicate generation to reduce processing in a multi-table join. It is determined that a query is to be rewritten, wherein the query includes a predicate for a first column of a first table and a second column of a second table. The query is rewritten with generated subquery predicates for the first table that are to be applied to the second table and with generated subquery predicates for the second table that are to be applied to the first table. Minimum and maximum ranges for columns of the generated subquery predicates at a cursor open are determined. The minimum and maximum ranges are merged to determine inclusive ranges that exist in the first table and the second table. The generated subquery predicates are rewritten as derived local subquery predicates with the inclusive ranges. The query with the derived local subquery predicates is executed.Type: ApplicationFiled: November 20, 2018Publication date: March 21, 2019Inventors: Thomas A. Beavin, Andrei F. Lurie, Terence P. Purcell
-
Publication number: 20180285415Abstract: Provided are techniques for efficient subquery predicate generation to reduce processing in a multi-table join. It is determined that a query is to be rewritten, wherein the query includes a predicate for a first column of a first table and a second column of a second table. The query is rewritten with generated subquery predicates for the first table that are to be applied to the second table and with generated subquery predicates for the second table that are to be applied to the first table. Minimum and maximum ranges for columns of the generated subquery predicates at a cursor open are determined. The minimum and maximum ranges are merged to determine inclusive ranges that exist in the first table and the second table. The generated subquery predicates are rewritten as derived local subquery predicates with the inclusive ranges. The query with the derived local subquery predicates is executed.Type: ApplicationFiled: March 28, 2017Publication date: October 4, 2018Inventors: Thomas A. Beavin, Andrei F. Lurie, Terence P. Purcell
-
Publication number: 20180129708Abstract: Disclosed aspects relate to query processing management in a database management system (DBMS). The DBMS may detect that a query has a set of subqueries. The DBMS may detect that the set of subqueries indicates a set of data structures. A lead data structure may be selected from the set of data structures using a selection criterion. A set of input columns may be identified from the lead data structure of the set of data structures. A set of output columns may be identified from the set of data structures other than the lead data structure. A hash data structure may be constructed using the set of input columns and the set of output columns. A cache may be built based on the hash data structure.Type: ApplicationFiled: November 4, 2016Publication date: May 10, 2018Inventors: Thomas A. Beavin, Zhang Hao, Shuo Li, Xiaobo Wang, Ke Wei Wei
-
Patent number: 9928274Abstract: Embodiments presented herein provide techniques for setting different methods of skipping duplicate values when executing a query statement in a relational database. A distance between a two distinct keys in an index, a current index key and a next distinct index key, are estimated. Based on the estimated distance, an appropriate duplicate-skipping method is determined. If the proximity between the distinct keys is relatively far apart (e.g., the keys reside in index pages that are at least an index page apart), then a “big skip” method is performed. Otherwise, if the proximity between the distinct keys is relatively near (e.g., the keys reside in the same index page), then a “little skip” method is performed.Type: GrantFiled: December 1, 2014Date of Patent: March 27, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Terence P. Purcell, Thomas A. Beavin, Li Xia, Michael R. Shadduck, Paramesh S. Desai, Qianyang Yu
-
Patent number: 9892158Abstract: Embodiments presented herein provide techniques for setting different methods of skipping duplicate values when executing a query statement in a relational database. A distance between a two distinct keys in an index, a current index key and a next distinct index key, are estimated. Based on the estimated distance, an appropriate duplicate-skipping method is determined. If the proximity between the distinct keys is relatively far apart (e.g., the keys reside in index pages that are at least an index page apart), then a “big skip” method is performed. Otherwise, if the proximity between the distinct keys is relatively near (e.g., the keys reside in the same index page), then a “little skip” method is performed.Type: GrantFiled: January 31, 2014Date of Patent: February 13, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Terence P. Purcell, Thomas A. Beavin, Li Xia, Michael R. Shadduck, Paramesh S. Desai, Qianyang Yu
-
Patent number: 9652498Abstract: Embodiments of techniques related to optimizing and processing queries are disclosed. In one embodiment, a query to access data of one or more databases is received, and a hybrid access path for accessing the data is generated. Generating the hybrid access path may include determining a plurality of candidate access paths and respective path cost values and selecting, based on the respective path cost values, two or more candidate access paths from the plurality of candidate access paths. Generating the hybrid access path may include generating, based on the two or more candidate access paths, the hybrid access path, the hybrid access path including at least one decision point and a set of options. The at least one decision point of the hybrid access path may indicate a difference between two or more candidate sequences of operations of candidate access paths from the two or more candidate access paths.Type: GrantFiled: March 21, 2015Date of Patent: May 16, 2017Assignee: International Business Machines CorporationInventors: Thomas A. Beavin, Andrei F. Lurie, Terence P. Purcell
-
Patent number: 9652497Abstract: Embodiments of techniques related to optimizing and processing queries are disclosed. In one embodiment, a query to access data of one or more databases is received, and a hybrid access path for accessing the data is generated. Generating the hybrid access path may include determining a plurality of candidate access paths and respective path cost values and selecting, based on the respective path cost values, two or more candidate access paths from the plurality of candidate access paths. Generating the hybrid access path may include generating, based on the two or more candidate access paths, the hybrid access path, the hybrid access path including at least one decision point and a set of options. The at least one decision point of the hybrid access path may indicate a difference between two or more candidate sequences of operations of candidate access paths from the two or more candidate access paths.Type: GrantFiled: April 23, 2014Date of Patent: May 16, 2017Assignee: International Business Machines CorporationInventors: Thomas A. Beavin, Andrei F. Lurie, Terence P. Purcell
-
Patent number: 9582540Abstract: Methods, systems, and computer readable media of executing a database query are provided. One or more predicates are generated based on implicit filtering present within the database query, wherein each predicate specifies a condition with respect to a predicate value. An access path is selected for the database query based on the one or more predicates and the one or more predicates are integrated within the selected access plan. The database query is executed in accordance with the selected access plan. At least one predicate value based on data accessed is updated, as the database query is being executed, to increase filtering of data during remaining execution of the database query.Type: GrantFiled: August 21, 2014Date of Patent: February 28, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Thomas A. Beavin, Garth A. Dickie, Ian R. Finlay, Terence P. Purcell
-
Patent number: 9569495Abstract: Methods, systems, and computer readable media of executing a database query are provided. One or more predicates are generated based on implicit filtering present within the database query, wherein each predicate specifies a condition with respect to a predicate value. An access path is selected for the database query based on the one or more predicates and the one or more predicates are integrated within the selected access plan. The database query is executed in accordance with the selected access plan. At least one predicate value based on data accessed is updated, as the database query is being executed, to increase filtering of data during remaining execution of the database query.Type: GrantFiled: April 7, 2015Date of Patent: February 14, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Thomas A. Beavin, Garth A. Dickie, Ian R. Finlay, Terence P. Purcell
-
Patent number: 9524305Abstract: System, method, and computer program product to modify a received query, the received query including a first predicate specifying a comparison operator and a second predicate specifying an IS NULL operator, by replacing the comparison operator of the first predicate with an extended comparison operator, and removing the IS NULL operator from the received query, the extended comparison operator configured to support searching of NULL values in a database management system (DBMS), wherein the extended comparison operator is configured to return rows having column data matching a value predefined to represent NULL values.Type: GrantFiled: June 25, 2014Date of Patent: December 20, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Thomas A. Beavin, Mengchu Cai, Dengfeng Gao, Jae H. Lee, Li-Mey P. Lee, Terence P. Purcell, Shengxi Suo
-
Patent number: 9519662Abstract: System, method, and computer program product to modify a received query, the received query including a first predicate specifying a comparison operator and a second predicate specifying an IS NULL operator, by replacing the comparison operator of the first predicate with an extended comparison operator, and removing the IS NULL operator from the received query, the extended comparison operator configured to support searching of NULL values in a database management system (DBMS), wherein the extended comparison operator is configured to return rows having column data matching a value predefined to represent NULL values.Type: GrantFiled: September 10, 2013Date of Patent: December 13, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Thomas A. Beavin, Mengchu Cai, Dengfeng Gao, Jae H. Lee, Li-Mey P. Lee, Terence P. Purcell, Shengxi Suo
-
Publication number: 20160196302Abstract: Performing a join of first and second database tables for a query includes applying a predicate of the query to the first table as a first predicate and determining how many distinct join key values the first table has that survive the applying of the first predicate, wherein a join key value of the first table that survives the applying of the first predicate is a surviving join key value for a second predicate. A selection includes selecting among applying the second predicate to the second table, probing the second table with the second predicate, and neither applying the second predicate to the second table nor probing the second table with the second predicate, wherein the selecting is responsive to the number of distinct, surviving join key values.Type: ApplicationFiled: January 7, 2015Publication date: July 7, 2016Inventors: Thomas A. Beavin, Naresh K. Chainani, Sam S. Lightstone, Shaorong Liu
-
Publication number: 20160196306Abstract: Performing a join of first and second database tables for a query includes applying a predicate of the query to the first table as a first predicate and determining how many distinct join key values the first table has that survive the applying of the first predicate, wherein a join key value of the first table that survives the applying of the first predicate is a surviving join key value for a second predicate. A selection includes selecting among applying the second predicate to the second table, probing the second table with the second predicate, and neither applying the second predicate to the second table nor probing the second table with the second predicate, wherein the selecting is responsive to the number of distinct, surviving join key values.Type: ApplicationFiled: December 10, 2015Publication date: July 7, 2016Inventors: Thomas A. Beavin, Naresh K. Chainani, Sam S. Lightstone, Shaorong Liu
-
Publication number: 20160055208Abstract: According to present invention embodiments, methods, systems, and computer readable media of executing a database query are provided. One or more predicates are generated based on implicit filtering present within the database query, wherein each predicate specifies a condition with respect to a predicate value. An access path is selected for the database query based on the one or more predicates and the one or more predicates are integrated within the selected access plan. The database query is executed in accordance with the selected access plan. At least one predicate value based on data accessed is updated, as the database query is being executed, to increase filtering of data during remaining execution of the database query.Type: ApplicationFiled: April 7, 2015Publication date: February 25, 2016Inventors: Thomas A. Beavin, Garth A. Dickie, Ian R. Finlay, Terence P. Purcell
-
Publication number: 20160055210Abstract: According to present invention embodiments, methods, systems, and computer readable media of executing a database query are provided. One or more predicates are generated based on implicit filtering present within the database query, wherein each predicate specifies a condition with respect to a predicate value. An access path is selected for the database query based on the one or more predicates and the one or more predicates are integrated within the selected access plan. The database query is executed in accordance with the selected access plan. At least one predicate value based on data accessed is updated, as the database query is being executed, to increase filtering of data during remaining execution of the database query.Type: ApplicationFiled: August 21, 2014Publication date: February 25, 2016Inventors: Thomas A. Beavin, Garth A. Dickie, Ian R. Finlay, Terence P. Purcell
-
Patent number: 9256643Abstract: A technique for factoring uncertainty into cost-based query optimization includes: determining the degree of uncertainty involved in the cost estimates for the query, determining the degree of sensitivity the query has to that uncertainty, and determining if there is an access path that performs well across the range of possible conditions that could occur at execution time, reducing the risk of performance spikes and performance volatility. If such an access path exists, select that access path; if not, perform parametric query optimization or query re-optimization.Type: GrantFiled: March 27, 2014Date of Patent: February 9, 2016Assignee: International Business Machines CorporationInventors: Jason L. Alpers, Thomas A. Beavin, Patrick D. Bossman, Shuanglin Guo, Terence P. Purcell
-
Patent number: 9208198Abstract: A technique for factoring uncertainty into cost-based query optimization includes: determining the degree of uncertainty involved in the cost estimates for the query, determining the degree of sensitivity the query has to that uncertainty, and determining if there is an access path that performs well across the range of possible conditions that could occur at execution time, reducing the risk of performance spikes and performance volatility. If such an access path exists, select that access path; if not, perform parametric query optimization or query re-optimization.Type: GrantFiled: October 17, 2012Date of Patent: December 8, 2015Assignee: International Business Machines CorporationInventors: Jason L. Alpers, Thomas A. Beavin, Patrick D. Bossman, Shuanglin Guo, Terence P. Purcell
-
Publication number: 20150310066Abstract: Embodiments of techniques related to optimizing and processing queries are disclosed. In one embodiment, a query to access data of one or more databases is received, and a hybrid access path for accessing the data is generated. Generating the hybrid access path may include determining a plurality of candidate access paths and respective path cost values and selecting, based on the respective path cost values, two or more candidate access paths from the plurality of candidate access paths. Generating the hybrid access path may include generating, based on the two or more candidate access paths, the hybrid access path, the hybrid access path including at least one decision point and a set of options. The at least one decision point of the hybrid access path may indicate a difference between two or more candidate sequences of operations of candidate access paths from the two or more candidate access paths.Type: ApplicationFiled: March 21, 2015Publication date: October 29, 2015Inventors: Thomas A. Beavin, Andrei F. Lurie, Terence P. Purcell
-
Publication number: 20150310063Abstract: Embodiments of techniques related to optimizing and processing queries are disclosed. In one embodiment, a query to access data of one or more databases is received, and a hybrid access path for accessing the data is generated. Generating the hybrid access path may include determining a plurality of candidate access paths and respective path cost values and selecting, based on the respective path cost values, two or more candidate access paths from the plurality of candidate access paths. Generating the hybrid access path may include generating, based on the two or more candidate access paths, the hybrid access path, the hybrid access path including at least one decision point and a set of options. The at least one decision point of the hybrid access path may indicate a difference between two or more candidate sequences of operations of candidate access paths from the two or more candidate access paths.Type: ApplicationFiled: April 23, 2014Publication date: October 29, 2015Applicant: International Business Machines CorporationInventors: Thomas A. Beavin, Andrei F. Lurie, Terence P. Purcell
-
Patent number: 9134975Abstract: Source code of a computer program is compiled by a compiler to generate object code. During compilation of the source code, for each function of the source code compiled, an identifier indicating the function can be entered into a module entry point list. An update for the compiler is received. Responsive to receiving the compiler update, a determination is made, by processing the module entry point list, whether any of the functions of the source code were compiled at least one compiler module to be changed by the compiler update. Responsive to determining that at least one of the functions of the source code was compiled by a compiler module to be changed by the compiler update, a determination is made that the source code of the computer program is a candidate to be recompiled with an updated version of the compiler having the compiler update applied.Type: GrantFiled: August 22, 2014Date of Patent: September 15, 2015Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Thomas A. Beavin, David R. Moy, Terence P. Purcell, John B. Tobler, Nigel G. Slinger