Database Dialect Conversion via Pattern Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Switching from one database management server to another, especially from a proprietary to an open source server, is challenging due to differences in database language statement dialects, which affect syntax and capabilities.

Innovation Solution

A database application adapter is used to convert database language statements from a source dialect to a target dialect, enabling migration between different database servers by employing a migration engine that includes a database schema converter and an application adapter.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If database applications are migrated between different database servers, then cost savings and improved performance can be achieved, but the migration is challenging due to differences in database language statement dialects

Engineering Contradiction:
Improveability to migrate between database serversVSAvoidcomplexity of migration process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a dialect conversion layer as an intermediary component that translates database language statements from a source dialect to a target dialect. This mediator handles the complexity of dialect differences internally, allowing applications to migrate between database servers without requiring direct modification of application code, thus resolving the contradiction between migration adaptability and migration complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If database language statements are converted between dialects, then seamless migration is enabled, but the conversion process adds system complexity

Engineering Contradiction:
Improveease of database migrationVSAvoidcomplexity of conversion system
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The dialect conversion system is segmented into distinct functional components: a dialect identifier that detects the source dialect, a conversion engine that performs the actual translation, and an integration layer that connects to the target database server. This segmentation isolates conversion complexity into specific modules, making the overall system easier to operate while managing complexity through modular design

Inventive Principle:
Principle #1Segmentation

3Reliability

If core functionality of the application is preserved during migration, then application stability is maintained, but dialect differences must be handled

Engineering Contradiction:
Improveapplication stabilityVSAvoidcompatibility with different dialects
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The conversion layer creates a copied and adapted version of the original database language statements, translating them from the source dialect syntax to the target dialect syntax while preserving the semantic meaning and functionality. This copying approach maintains application stability by keeping the original application code unchanged while creating dialect-specific translations that ensure compatibility with different database servers

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12204528B2Converting database language statements between dialects
Publication Date: 2025.01.21 MICRO FOCUS LLC
  • US12204528B2 patent drawing
  • US12204528B2 patent drawing
  • US12204528B2 patent drawing

AI summary

A system receives a source database language statement according to a first dialect, determines a pattern of the source database language statement, the pattern comprising an abstract representation of the source database language statement, and checks whether the determined pattern is present in a cache of translations between patterns according to the first dialect and corresponding patterns according to a second dialect different from the first dialect. In response to the determined pattern being present in the cache of translations, the system converts, using a corresponding translation in the cache of translations, the source database language statement according to the first dialect to a respective target database language statement according to the second dialect.