返回首页

gbase数据、南大通用产品文档:GBase8sifx_lo_lock() 函数

更新日期:2024年09月11日

ifx_lo_lock() 函数允许您锁定智能大对象中显式范围的字节。

语法
mint ifx_lo_lock(LO_fd, offset, whence, range, lockmode)
mint LO_fd;
int8 *offset;

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 780 -
mint whence;

int8 *range;

mint lockmode;
LO_fd
要在其中锁定字节的范围的智能大对象的 LO 文件描述符。offset
指向指定偏移量的 8 字节整数(INT8)的指针,锁定始于智能大对象之内的该偏移
量。
whence
指定从被计算的偏移量的哪个点的 mint 常量:智能大对象的开始、智能大对象内的
当前位置或智能大对象的末尾。
range
指向指定要锁定的字节数的 8 字节整数(INT8)的指针。
lockmode
锁定指定的字节所采用的模式。对于排他锁,请设置为 LO_EXCLUSIVE_MODE,或
对于共享锁,请设置为 LO_SHARED_MODE。
用法
对于 LO_fd 指定的智能大对象,ifx_lo_lock() 函数锁定由 range 指定的字节数,始
于由 offset 和 whence 指定的位置。
ifx_lo_lock() 函数放置 lockmode 指定的类型的锁。

果您指定 ISSLOCK,则 ifx_lo_lock() 在字节范围上放置共享锁。如果您指定 ISXLOCK,
则 ifx_lo_lock() 在字节范围上放置排他锁。

在您调用 ifx_lo_lock() 之前,您必须取得有效的 LO 文件描述符,这需要通过调用
ifx_lo_create() 来创建新的智能大对象,或通过调用 ifx_lo_open() 来打开现有的智能大对
象。

ifx_lo_lock() 函数使用 whence 和 offset 参数来确定搜寻位置,如下:
whence 值标识从哪里开始搜寻。
有效的值包括 locator.h 头文件定义的下列常量。
Whence 常量
启动搜寻位置
LO_SEEK_SET
智能大对象的启动

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 781 -
LO_SEEK_CUR
智能大对象中当前的搜寻位置
LO_SEEK_END
智能大对象的末尾
offset 参数标识以字节计的偏移量,从开始锁定的字节的(whence 参数指定的)起始
搜寻位置。

除了锁定 nbytes 之外,您还可锁定从指定的偏移量至大对象的末尾的字节,在此,
您可指定该大对象的当前末尾或最大末尾。您可使用两个整数常量(LO_CURRENT_END
和 LO_MAX_END)表示这些值。要使用这些值之一,首先将它转换为 int8 值,然后对
于 nbytes 参数使用它。

返回代码
0
函数成功。
< 0
函数不成功。返回的值为 sqlcode,其为 GBase 8s 错误消息的数目。

管理 API)
随同 admin() 或 task() 函数,使用 scheduler 参数来启动或停止调度程序。
语法

用法
使用 scheduler shutdown 参数来停止调度程序并重新分配它的资源。
使用 scheduler start 参数来启动调度程序。
这个函数没有等同的实用程序命令。
您可用 onstat -g dbc 命令查看调度线程的状态。
示例
在调度程序已关闭之后,下列示例启动调度程序:
EXECUTE FUNCTION task("scheduler start");

连接数据库

使用psycopg2.connect 函数获得connection 对象。

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

使用connection 对象创建cursor 对象。