US 12,086,135 B2
Problem solving in a database
Shuo Li, Beijing (CN); Xiaobo Wang, Haidian District (CN); Sheng Yan Sun, Beijing (CN); and Min Li, Beijing (CN)
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed by INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed on Sep. 17, 2021, as Appl. No. 17/477,801.
Prior Publication US 2023/0089667 A1, Mar. 23, 2023
Int. Cl. G06F 16/2452 (2019.01); G06F 11/14 (2006.01); G06F 11/34 (2006.01); G06F 16/21 (2019.01)
CPC G06F 16/24524 (2019.01) [G06F 11/1471 (2013.01); G06F 11/3409 (2013.01); G06F 16/21 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
receiving, by a computing device, a Structured Query Language (SQL) query from a user, wherein the SQL query is associated with a problem;
generating, by the computing device, execution structures from the SQL query, the execution structures each including different logical paths for executing statements of the SQL query;
generating, by the computing device, an initial set of test results from one or more databases by running the SQL query using each of the execution structures;
building, by the computing device, logs which record information of the running of the SQL query using each of the execution structures;
generating, by the computing device, a candidate execution structure including new logical paths for executing statements of the SQL query using the information from the logs;
normalizing, by the computing device, components of the SQL query using the candidate execution structure, thereby generating a normalized SQL query;
running, by the computing device, the normalized SQL query in a database, thereby generating a new set of test results;
diagnosing a source of the problem by comparing, by the computing device, the new set of test results of the normalized SQL query to the initial set of test results to determine whether the new set of test results matches the initial set of test results;
in response to a user applying a repair to the database, compiling repair data of the repair as training data; and
training a knowledge center using machine learning with the training data.