Dynamic Query Error Correction via Alternate Execution Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern database systems face inefficiencies due to errors in queries, which can lead to downtime and require extensive effort to identify and correct, especially with large data volumes and system updates introducing new errors.

Innovation Solution

A computer-implemented method dynamically identifies errors in queries by generating alternate execution structures, comparing results, and selecting a correct alternate structure to replace the original query, allowing for temporary fixes and long-term correction of similar errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual query error detection and correction is used, then development effort is intensive and time-consuming, but error detection precision is limited

Engineering Contradiction:
Improvequery error correction efficiencyVSAvoiddowntime for error identification and correction
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system enables self-service by automatically detecting and correcting query errors without human intervention. The error detection mechanism autonomously identifies syntax errors, logical errors, and performance issues in SQL queries, and the correction system automatically generates fixed versions, allowing the database system to self-heal from errors.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary action by proactively detecting and correcting errors before they cause system failures or performance degradation. The continuous monitoring and real-time correction capabilities allow the system to address errors in advance, preventing downtime and maintaining optimal query performance.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If frequent system updates are implemented to improve functionality, then system capabilities are enhanced, but new errors are introduced into existing queries

Engineering Contradiction:
Improvesystem functionalityVSAvoidquery execution reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements feedback by continuously monitoring query execution results and comparing them against expected outcomes. When system updates introduce new errors, the feedback mechanism detects performance degradation or execution failures and triggers automatic correction, ensuring that reliability is maintained despite increased adaptability from frequent updates.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If comprehensive query validation is performed, then error detection precision is improved, but processing overhead increases

Engineering Contradiction:
Improveerror detection accuracyVSAvoidquery processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system applies partial action by focusing validation efforts on the most critical and error-prone portions of queries rather than uniformly validating every aspect. The error detection mechanism prioritizes checking for common error patterns, syntax issues, and high-impact logical errors, achieving high detection precision without the full overhead of exhaustive validation of all query components.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11561979B2Dynamically detecting and correcting errors in queries
Publication Date: 2023.01.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11561979B2 patent drawing
  • US11561979B2 patent drawing
  • US11561979B2 patent drawing

AI summary

A computer-implemented method dynamically detects and corrects an error in a query. The method includes identifying an error in a first query. The method further includes generating a set of alternate execution structures for the first query. The method includes running each of the alternate execution structures, including generating a set of results corresponding to each set of alternate execution structure, comparing each of the set of results against each other of the set of results, and storing each of the set of alternate execution structures to include a result of the set of results, for each alternate structure. The method further includes selecting, from the set of alternate execution structures, a first alternate execution structure based on a predetermined criteria, and implementing the first alternate structure in place of the first query.