This note explains why Invantive PSQL aims to be compatible with Oracle PL/SQL instead of also incorporating procedural implementations of other vendors. Major reasons include code quality, compatibility with the ISO SQL/PSM standard and leverage upon current knowledge of Oracle PL/SQL developers integrating cloud platforms and third party databases.
Why Oracle PL/SQL?
Invantive PSQL, despite being software based upon an independent strategy, also aims to be Oracle PL/SQL compatible. This is contrary to Invantive SQL which is part of PSQL. Invantive SQL itself was designed to be compatible across all major SQL dialects from Oracle, MySQL, Microsoft, Teradata, IBM and PostgreSQL.
There are a number of reasons why we have to chosen to remain compatible with Oracle PL/SQL where possible, which will be elaborated in the next sections:
- code quality,
- the ISO SQL/PSM standard,
- leverage upon existing knowledge.
When confronted with major quality issues, the Steelman language requirements were established in 1978 for military-grade embedded computer applications. The solutions of Invantive generally don’t ship in the form of a military rocket, so for this discussion we will ignore the embedded-only focus. However, as a group at Invantive we feel comfortable about code meeting the other Steelman language requirements (section 1):
- Machine Independence,
- Complete Definition.
Trustworthy software is a more likely outcome of an engineering effort than when using a language like Basic or Microsoft’s T-SQL when a language meets these definitions and other concepts as documented in the Steelman document.
The Ada language fulfilled these requirements and has been a requirement from the DoD for a number of years. Using a language that implements these requirements reduces the risks of unexpected events causing software to respond in unforeseen ways. This holds for both the initial conception of an application as well as during maintenance in the rest of the lifetime. For instance, the machine independence ensures that replacing the hardware running the code influences the outcome of algorithms.
The language Ada has formed the basis of Oracle PL/SQL, which in turn inherited many of the properties of Ada and therefor the Steelman language requirements.
This is the first reason to target Oracle PL/SQL compatibility of Invantive SQL.
ISO SQL/PSM Standard
Although some ISO standards seem to have less market adoption than the agreement on nuclear disarmament between Mr. Kim and Mr. Trump, the ISO standards are still valuable. The ISO SQL/PSM makes available a standard for procedural extensions for SQL language developers as part of the SQL standard, based upon Oracle PL/SQL.
When Invantive PSQL targets Oracle PL/SQL compatibility, it is also more easy to remain compliant with the ISO SQL/PSM standard.
This is the second reason to target Oracle PL/SQL compatibility of Invantive SQL.
Leverage upon PL/SQL Knowledge
The Oracle RDBMS platform implements the Oracle PL/SQL language, but also follows the machine independence paradigm which enables SQL and PL/SQL to run over close to 100 platforms over the years. Many thousands of developers have learned how to code algorithms in Oracle PL/SQL.
However, there are few tools that allow developers to continue using their existing PL/SQL skills when they need to integrate Oracle RDBMS with cloud platforms as well as other database platforms.
Since Invantive SQL integrates with over 50 cloud and database platforms including Oracle, Oracle developers can reuse existing skill-sets when integrating Oracle in a hybrid environment. This helps the developers to be more productive and create quality code.
This also holds vice versa: in the environments supported by Invantive PSQL, developers can acquire and maintain Oracle PL/SQL skills which are valued highly in the labor market.
And altogether it makes it easier for organizations to attract and keep IT personnel when using Invantive PSQL.
This is the third reason to target Oracle PL/SQL compatibility of Invantive SQL.