PL/SQL Virtual Machine Intercepts and Translates Calls

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Many database systems are not configured to handle PL/SQL code, leading to failures in executing PL/SQL calls and retrieving data records, which limits the ability of user devices to query data from non-PL/SQL compatible databases.

Innovation Solution

A PL/SQL virtual machine is implemented on a virtual machine server that intercepts PL/SQL calls, translates them into a supported language like Java, and executes the code through an external database connector, allowing data retrieval from both PL/SQL compatible and non-compatible databases.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a database system is configured to handle PL/SQL code internally, then PL/SQL execution capability is improved, but device complexity and database configuration requirements worsen

Engineering Contradiction:
ImprovePL/SQL execution capabilityVSAvoiddatabase configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A virtual machine is introduced as an intermediary component between the user device and the database server. The virtual machine receives PL/SQL calls from the user device, translates them into standard SQL or other database-supported languages, and executes them on behalf of the user device. This mediator approach allows the database server to remain simple while still enabling PL/SQL functionality through the virtual machine layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If PL/SQL code is translated into a supported language at a virtual machine, then compatibility with non-PL/SQL databases is improved, but processing time and translation overhead worsen

Engineering Contradiction:
Improvedatabase compatibilityVSAvoidtranslation processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The virtual machine performs preliminary translation of PL/SQL code into the target database's supported language before execution. By translating the code in advance at the virtual machine layer, the actual database execution can proceed efficiently without real-time translation delays. This preliminary action ensures compatibility while minimizing impact on execution performance.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a virtual machine intercepts and translates PL/SQL calls, then data retrieval capability from non-PL/SQL databases is improved, but system complexity and interception overhead worsen

Engineering Contradiction:
Improvedata retrieval capabilityVSAvoidsystem architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The virtual machine is designed with universal functionality to handle multiple database types and languages. It can intercept PL/SQL calls, translate them into various database-supported languages, and execute queries across different database systems. This multi-functional design consolidates complexity into a single universal component rather than requiring separate solutions for each database type.

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

Data Source

PatentUS10353723B2PL/SQL language parsing at a virtual machine
Publication Date: 2019.07.16 SALESFORCE INC
  • US10353723B2 patent drawing
  • US10353723B2 patent drawing
  • US10353723B2 patent drawing

AI summary

In some database systems, a user device may query for data records using a procedural language extension to structured query language (PL/SQL) call. However, some databases may not be configured to process PL/SQL code. In these cases, a virtual machine may intercept the PL/SQL call, and may transform the call to a format usable by the database. For example, the virtual machine may deconstruct the PL/SQL call to determine the procedural and query functions that comprise the PL/SQL call. The virtual machine may then search a database for non-PL/SQL code snippets that correspond to these determined functions, and may generate non-PL/SQL code (e.g., Java code) that may perform the same functions as the PL/SQL call. The virtual machine, the database, or a combination of the two may execute the non-PL/SQL code to retrieve the data records from the database, and may return the records to the user device.