上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页

2024年12月29日

【openGauss】正则表达式次数符号“{}“在ORACLE和openGauss中的差异

摘要: 一、前言 正则作为一种常用的字符串处理方式,在各种开发语言,甚至数据库中,都有自带的正则函数。但是正则函数有很多标准,不同标准对正则表达式的解析方式不一样,本次在迁移一个ORACLE数据库到openGauss时发现了一个关于 {}的差异点。 二、{}是做什么用的 在绝大部分的正则表达式规则中 {}表 阅读全文

posted @ 2024-12-29 01:45 DarkAthena 阅读(73) 评论(0) 推荐(0)

2024年12月22日

【MogDB】MogDB5.2.0重磅发布第十篇-支持PLSQL嵌套子程序

摘要: 一、前言 在ORACLE的PLSQL中,支持在procedure、function及匿名块中,嵌套定义procedure和function,编写这样的代码,算是一种低耦合高内聚的风格。在openGauss 6.0及之前的版本,并不支持嵌套子程序(预计7.0版本会支持),但通过实测,MogDB 5.2 阅读全文

posted @ 2024-12-22 22:10 DarkAthena 阅读(29) 评论(0) 推荐(0)

2024年12月17日

【ORACLE】一个允许关键字作为别名所引起的语法歧义场景

摘要: 前言 最近在看SQL语法解析器,发现了antlr4提供的PlSql语法树存在一个BUG,然后我顺着这个BUG,构造了一条SQL,在ORACLE执行,如下 然后神奇的事情出现了,这个查询竟然没有返回行!t1表左关联t2,而且对t1表没有过滤条件,那么无论如何t1表中的数据应该是全部展现的! 然后有人可 阅读全文

posted @ 2024-12-17 21:02 DarkAthena 阅读(62) 评论(0) 推荐(0)

2024年11月16日

基于语法树的SQL自动改写工具开发系列(2)-使用PYTHON进行简单SQL改写的开发实战

摘要: 一、前言 前面一篇写了如何搭建环境,本文接着讲怎么使用antlr4进行开发。 二、实战 根据上一篇,基于语法树的SQL自动改写工具开发系列(1)-离线安装语法树解析工具antlr4-DA-技术分享-M版,先在本地部署好开发环境。 DEMO 1 写一段期望改写的原始SQL,使用pygrun进行解析 比 阅读全文

posted @ 2024-11-16 17:07 DarkAthena 阅读(101) 评论(0) 推荐(0)

基于语法树的SQL自动改写工具开发系列(1)-离线安装语法树解析工具antlr4

摘要: 前言 最近遇到个项目,打算做ORACLE应用系统里的PLSQL重构,将一些ORACLE独有的高级语法改写成指定的通用语法,以便能支持在更多的数据库上运行,但该应用系统里的PLSQL代码量实在太大,人工改写或者正则替换都不是那么容易,数据库厂家的自动改写工具也只能提供一种规则的自动转换,不能定制转换规 阅读全文

posted @ 2024-11-16 17:01 DarkAthena 阅读(86) 评论(0) 推荐(0)

【MogDB】MogDB5.2.0重磅发布第八篇-支持PLSQL编译全局缓存

摘要: 前言 在我之前的文章中有提过,原生PG对于重度存储过程的应用系统适配,具有一个致命缺陷,即原生PG中的plsql是会话级缓存,这意味着每个会话在第一次执行某个存储过程时,都需要对这个存储过程进行编译,并且将编译结果缓存到本会话,由此引发巨大的内存占用(应用连接池多连接)以及首次调用时的严重性能问题( 阅读全文

posted @ 2024-11-16 15:17 DarkAthena 阅读(29) 评论(0) 推荐(0)

2024年11月10日

【MogDB】MogDB5.2.0重磅发布第七篇-支持PLSQL编译依赖

摘要: 一、前言 在原生PG中,创建一个自定义函数或者存储过程,如果出入参的类型不存在,那么创建将会报错;但在ORACLE中仍然可以创建,只是状态为失效,后续补上缺少的类型即可。而原生PG则必须依照特定的顺序来创建数据库对象。openGauss2.1版本起新增了package这种可以内建类型、函数、过程的对 阅读全文

posted @ 2024-11-10 22:19 DarkAthena 阅读(66) 评论(0) 推荐(0)

2024年11月6日

从pg_depend和pg_class开始了解MogDB/openGauss/postgresql的系统元数据设计

摘要: 前言 学习任何一种数据库,必须要了解它的数据字典,这样有利于了解数据库的结构、解读部分日志、定位一些问题。PG/OG系数据库的系统元数据遵从一个统一的设计规则,可以让初学者快速入门。本文以MogDB为例,剖析一下PG/OG系数据库的系统元数据设计哲学。 一、pg_depend 先来看pg_depen 阅读全文

posted @ 2024-11-06 12:53 DarkAthena 阅读(230) 评论(0) 推荐(0)

2024年11月2日

【ORACLE】对Oracle中char类型的研究分析

摘要: 前言 在国产数据库做ORACLE兼容性实现时,无可避免会遇到CHAR类型的差异,但是对于大多数的应用开发者来说,并不会深入去了解char类型的机制。很多开发者之前在ORACLE上就没弄懂,好不容易写出来的SQL在ORACLE能查到想要的东西了,但是一迁移到国产库的时候,发现相同的SQL,查询结果不一 阅读全文

posted @ 2024-11-02 01:07 DarkAthena 阅读(102) 评论(0) 推荐(0)

【MogDB】MogDB5.2.0重磅发布第九篇-SQL宽容性提升

摘要: 【MogDB】MogDB5.2.0重磅发布第九篇-SQL宽容性提升 一、前言 在ORACLE迁移到国产库的过程中,经常会遇到一些由于原本SQL不是太标准而导致在国产库上报错。这种错误,如果只有一个两个,手动改了就好了,但是如果如果要改的量非常大,还不能批量替换,而且不能根据数据库的报错信息直接判断出 阅读全文

posted @ 2024-11-02 00:53 DarkAthena 阅读(83) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页

导航