Mock Execution Framework for SQL Testing Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems face challenges in testing user SQL statements within server code, including uncertainty in advice due to lack of execution in realistic environments, impact on production workloads, and difficulty in reproducing and comparing execution plans effectively.

Innovation Solution

The solution involves executing SQL statements within a reproduced execution environment within the database's SQL execution engine, using a mock execution framework that isolates test execution and captures reproducible statistics, allowing for controlled execution and comparison of different plans without impacting other database activities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If SQL statements are executed externally for testing, then testing can be performed, but it causes contention with other database activity due to acquisition of row locks and modifies the database state

Engineering Contradiction:
Improvetesting reliabilityVSAvoidimpact on production workload
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a mock execution framework as an intermediary layer between the SQL statement and the actual database execution engine. This framework intercepts the SQL execution request, creates a simulated execution environment that mirrors the real database behavior, and returns test results without actually modifying the database or acquiring locks on production data. The mock framework acts as a mediator that provides realistic testing while isolating the production system from harmful side effects.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copied or simulated execution environment that replicates the key characteristics of the real database execution without using the actual production system. The mock execution framework copies the essential behavior, performance characteristics, and execution paths of the real database engine, allowing comprehensive testing on the copied environment while leaving the original production database untouched and unaffected.

Inventive Principle:
Principle #26Copying

2Reliability

If SQL statements are executed within server code, then testing reliability increases with reproducible statistics, but it is difficult to collect reliably certain information about SQL statements to be tested

Engineering Contradiction:
Improvetesting reliabilityVSAvoiddifficulty in collecting SQL information
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The mock execution framework is integrated within the server code and automatically captures execution statistics and performance metrics during the simulated SQL execution. The system serves itself by instrumenting the execution path to collect data without requiring external tracing tools or manual instrumentation. The framework naturally accumulates statistics about execution plans, performance characteristics, and resource usage as part of its normal operation, making information collection straightforward and reliable.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements comprehensive feedback mechanisms where the mock execution framework continuously monitors and collects execution statistics, performance metrics, and diagnostic information during SQL statement execution. This feedback is captured in real-time and made available for analysis, enabling reliable collection of SQL information including execution plans, performance characteristics, and resource consumption patterns without requiring separate external measurement systems.

Inventive Principle:
Principle #23Feedback

3Object-affected harmful factors

If SQL statements are executed on a secondary test system, then isolation from production is achieved, but reproducing the original execution environment becomes challenging

Engineering Contradiction:
Improveisolation from productionVSAvoidenvironment reproduction complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent segments the execution environment into essential components that can be replicated within the existing database server. Rather than attempting to reproduce the entire complex production environment on a separate test system, the mock execution framework extracts and replicates only the critical execution characteristics, performance parameters, and behavioral patterns needed for accurate testing. This segmentation approach reduces environment reproduction complexity while maintaining testing validity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent makes the database server itself universal by enabling it to perform both production processing and testing functions simultaneously through the integrated mock execution framework. The same server infrastructure that handles production workloads also executes the mock testing framework, eliminating the need for separate test systems and the complexity of environment reproduction. The server becomes multi-functional, serving both operational and testing purposes within a single unified platform.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Productivity

If time limits are imposed on SQL execution, then system performance is protected, but the ability to complete or abort within a specific time limit becomes challenging

Engineering Contradiction:
Improvesystem performanceVSAvoidexecution control
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The mock execution framework performs a partial execution of the SQL statement, simulating only the critical path and key execution stages needed for testing purposes rather than completing the full execution. This partial action approach allows the framework to collect meaningful performance statistics and execution plan information while imposing time limits that would prevent complete execution of complex queries. The framework executes just enough to gather test data without consuming excessive system resources or interfering with production performance.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7970755B2Test execution of user SQL in database server code
Publication Date: 2011.06.28 ORACLE INT CORP
  • US7970755B2 patent drawing
  • US7970755B2 patent drawing
  • US7970755B2 patent drawing

AI summary

Systems, methods, and other embodiments associated with test execution of user SQL in server code are described. One example method includes producing a reproduced execution environment that reproduces a portion of an execution environment in which a user SQL runs. The example method may also include running the user SQL in the reproduced execution environment and capturing a statistic associated with performance of the user SQL while the user SQL runs in the reproduced execution environment. The method may conclude by storing, displaying, and/or providing a signal concerning the statistic.