返回首页

gbase数据、南大通用产品文档:GBase8c使用限制

更新日期:2024年09月11日

不支持调用的上下文环境:

不支持除PLSQL 的其他存储过程中调用COMMIT/ROLLBACK/SAVEPOINT,例如
PLJAVA、PLPYTHON 等。

不支持函数中调用COMMIT/ROLLBACK/SAVEPOINT ,包括函数调用含有
COMMIT/ROLLBACK/SAVEPOINT 的存储过程。

不支持事务块中调用了SAVEPOINT 后,
调用含有COMMIT/ROLLBACK 的存储过程。

不支持TRIGGER 中调用含有COMMIT/ROLLBACK/SAVEPOINT 语句的存储过程。

不支持EXECUTE 语句中调用COMMIT/ROLLBACK/SAVEPOINT 语句。

不支持在CURSOR 语句中打开一个含有COMMIT/ROLLBACK/SAVEPOINT 的存储过
程。

不支持带有
IMMUTABLE
以及
SHIPPABLE
的存储过程调用
COMMIT/ROLLBACK/SAVEPOINT,或调用带有COMMIT/ROLLBACK/SAVEPOINT
语句的存储过程。

不支持SQL 中调用含有COMMIT/ROLLBACK/SAVEPOINT 语句的存储过程,除了
SELECT PROC 以及CALL PROC。

存储过程头带有GUC 参数设置的不允许调用COMMIT/ROLLBACK/SAVEPOINT 语句。

不支持
CURSOR/EXECUTE
语句,以及各类表达式内调用
COMMIT/ROLLBACK/SAVEPOINT。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
664

自治事务和存储过程事务是两个独立的事务,不能互相使用对方事务中定义的保存点。
不支持提交回滚的内容:

不支持存储过程内声明变量以及传入变量的提交/回滚。

不支持存储过程内必须重启生效的GUC 参数的提交/回滚。

对象资源操作为数据库/表操作。

数据库/表操作
是对数据库/表进行插、查、删、改和管理等一系列操作。

GCI接口对于按列式绑定的模式支持相对简单,即每列对应数组,包括空值指示和长度指示。
内存块申请策略如图:

A

B

C











indA

indB

indC











rlenA

rlenB

rlenC










上图中:
有三个字段(A/B/C)访问,分别各自申请长度为2的数组。
与其对应的空值指示也为各自申请长度为2的类型为sb2的数组,长度指示为各自申请长度
为2的类型为ub2的数组。
列绑定方式时,应用程序不需要使用GCIBindArrayOfStruct或GCIDefineArrayOfStruct接口指
定偏移量(如调用各个偏移量参数可设定为0)