当前位置:首页 > 报告详情

IvorySQL内核实现原理-牛世继.pdf

上传人: 茫然 编号:731584 2025-07-14 18页 1.09MB

1、IvorySQL IvorySQL 内核实现内核实现原理原理牛世继IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛兼容框架设计兼容框架设计初始化过程目录CONTENTSIvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛兼容框架兼容框架设计设计IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛框架设计框架设计思路思路插件形式的基础框架双端口双parser独立GUC

2、BKI分离回归测试分离IvorySQL同时兼容原生PG和Oracle,为了避免互相干扰,采取了多种设计。IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛基础兼容框架基础兼容框架位于contrib目录下的ivorysql_ora插件实现了内置函数、内置类型相关支持函数、系统视图、XML函数,merge等功能;该插件在初始化数据库时如果数据库模式为oracle兼容则自动创建;由于插件的可插拔特性,确保了对系统影响的可控性;IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPos

3、tgreSQL高峰论坛高峰论坛基础兼容框架基础兼容框架IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛PG工具Oracle应用PG SQL解析器5432Oracle SQL解析器1521PL/pgSQLPL/iSQLPL/PythonPL/TCLPL/PerlPL/RPL/JavaPostGISIvorySQL_ORAPostgres_fdwOracle_fdwpg_idx_advisorPL/pgSQLPL/iSQLPL/PythonPL/TCLPL/PerlPL/RPL/JavaPL/V8PostGISIvor

4、ySQL_ORAPostgres_fdwOracle_fdwpg_idx_advisorpg_logqueryidpg_stat_statementspg_query_rewrite内置数据类型内置字符函数内置时间函数PL/RPL/Java内置功能SQL兼容NLS参数PL/SQL兼容其它大小写敏感空转NULL参数解析模块嵌套子程序隐藏列兼容存储过程兼容匿名块序列兼容mergeq转义oracle like包兼容Oracle 测试框架pg 测试框架内置xml函数双端口双端口设计设计IvorySQL 使用5432端口兼容原有postgreSQL,因此 IvorySQL采用另一个独立的端口登录,默认为

5、1521。从该端口登录,默认采用oracle兼容模式。如果需要从5432端口登录且还要进入兼容模式,则需要通过compatible_mode参数进行设置。IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛双双ParserParser设计设计IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛1.SQL端词法语法分离新增一套兼容Oracle风格的语法和词法,在开启Oracle兼容的情况下,走Oracle风格的语法分析,生成相应的语法树。修改兼容

6、模式参数 compatible_mode 时会通过assign_hook()切换sql_raw_parser。双双ParserParser设计设计IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛2.服务器端编程语言词法语法分离plisql目录构建为一个插件,initdb时如果数据库模式是Oracle,则创建这个插件。这个插件会将pliSQL语言注册到数据库的系统表中。根据语言类型决定走不同的处理路径。独立独立GUCGUCIvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPo

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
根据提供的数据,以下是全文主要内容的概括: 1. IvorySQL是一种兼容PostgreSQL和Oracle的数据库系统。 2. IvorySQL采用插件形式的基础框架,包括双端口(5432用于PostgreSQL,1521默认用于Oracle兼容模式)、双parser、独立GUC、BKI分离和回归测试分离等设计。 3. 兼容框架位于contrib目录下的ivorysql_ora插件,提供内置函数、类型支持、系统视图、XML函数和merge等功能。 4. IvorySQL的初始化过程支持两种模式:默认的Oracle模式和PostgreSQL模式,通过`-m`参数指定。 5. 双Parser设计允许在Oracle兼容模式下使用Oracle风格的语法分析。 6. IvorySQL为减少对PG内核源码的修改,将相关GUC参数独立到ivy_guc.c文件中。 7. BKI分离和回归测试分离确保了系统对象和测试的独立性。 核心数据引用: - 端口设计:5432(PostgreSQL),1521(Oracle默认端口) - 兼容框架插件:ivorysql_ora - 初始化模式参数:`-m`(oracle或pg) 以上关键点简洁地总结了全文主要内容。
"IvorySQL双端口设计是怎样的?" "如何实现IvorySQL的PL/SQL兼容性?" "IvorySQL的初始化过程有何特别之处?"
客服
商务合作
小程序
服务号
折叠