云数据库 GAUSSDB-ecpg与Pro*C兼容性对比
ecpg与Pro*C兼容性对比
ecpg是 GaussDB 提供的一种用于C语言程序的嵌入式SQL预处理器,与A数据库Pro*C预处理器在编译执行命令、语法、嵌入式语句等行为和语义上存在差异。
ecpg与Pro*C的相关使用差异对比:
- 目前ecpg不支持EXEC SQL CONTEXT ALLOCATE、EXEC SQL CONTEXT USE、EXEC SQL CONTEXT FREE。
ecpg当前不支持CONTEXT申请、使用、释放操作,ecpg有独立的内存管理机制。多线程模式下,ecpg在每个线程中独立地建立连接、执行SQL语句以及相关资源的释放。这一使用方式与Pro*C多线程程模式下每个线程各自进行CONTEXT相关申请与释放的处理逻辑一致。
- 目前ecpg不支持EXEC SQL COMMIT WORK RELEASE。
在ecpg中,当业务语句执行COMMIT之后,并没有RELEASE选项,需要通过调用EXEC SQL DISCONNECT、EXEC SQL CLOSE等命令来实现相关资源的释放。Pro*C中EXEC SQL COMMIT带有RELEASE选项。用于释放程序持有的所有连接、游标等资源信息。
- 目前ecpg不支持EXEC SQL ENABLE THREAD。
ecpg编译选项中开启宏定义,在main函数的.pgc文件中定义(define)ENABLE_THREAD_SAFETY。
- 目前ecpg不支持存储过程、Package、匿名块、闪回等特性语法。
- GaussDB版本查询_华为云GaussDB的作用_高斯数据库版本查询_华为云
- 华为云数据库 RDS对比自建数据库的优势是什么_免费试用
- HAProxy镜像下载
- Flexus云服务_轻量云服务器与云服务器对比
- xprofiler镜像下载
- 分布式消息服务Kafka版与分布式消息服务RocketMQ版的区别_Kafka与RocketMQ对比_Kafka与RocketMQ差异
- GaussDB gsql使用_gaussdb介绍_gaussdb用法_gaussdb教程
- 云数据库 GaussDB(for MySQL)与RDS for MySQL的区别
- RPA排名_RPA概念_RPA软件对比
- GaussDB(for MySQL)重点特性介绍_升级Proxy内核版本_重启Proxy实例