PL/SQL Virtual Machine Intercepts and Translates Calls
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


