IVORYSQL framework design

  • In order to minimize changes to the original PostgreSQL, it is compatible with Oracle. We need to implement a framework for dual-parser, dual-port, modal PL/PGSQL to implement PL/iSQL. The implementation flowchart is as follows:

p18

1. Function

1.1. Dual-port design

  • The Ivorysql port 5432 is kept compatible with the original PostgreSQL situation, so Ivorysql uses another separate port to log in, which defaults to 1521. Log in from this port, and the Oracle compatibility mode is used by default. If you need to log in from port 5432 and also enter compatibility mode, you need to set it through the ivorysql.compatible_mode parameters.

1.2. Parser module design

  • In order to minimize the interference between Oracle syntax and PostgreSQL syntax, a parser module has been added to handle oracle-related syntax.

1.3. Added PL/iSQL procedural language

-Similarly, in order to reduce the conflict between Oracle compatibility and PostgreSQL syntax, a separate set of Oracle-specific test cases is designed,This set of test cases is a copy of PostgreSQL' original test framework.