返回首页

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

更新日期:2024年09月11日

ifx_lo_read() 函数从打开的智能大对象读取数据。
语法
ifx_lo_read(lofd, buf)
参数
该函数接受以下参数。
函数
类型
用于
描述
lofd
SQL_INTEGER
输入
智能大对象文件描述符
buf
SQL_CHAR
输出
指向函数将读取数据的字符缓冲区的指

用法
ifx_lo_read() 函数从打开的智能大对象读取数据。该读取从 lofd 当前的查找位置开始。可
以调用 ifx_lo_tell() 获取当前查找位置。
ifx_lo_read() 函数读取 cbValueMax 字节数据。cbValueMax 是 SQLBindParameter() 和
SQLBindCol() 的输入参数。buf 或 cbValueMax 的大小不能超过 2 千兆字节。要读取大
于 2 千兆字节的智能大对象,请在 2 千兆字节的 chunk 中读取它。ifx_lo_read() 函数将
这些数据读入 buf 指向的用户定义缓冲区。
如果 SQLBindParameter() 或 SQLBindCol() 返回 SQL_SUCCESS,则 pcbValue(这些函
数的参数)包含函数从智能大对象中读取的字节数。如果 SQLBindParameter() 或
SQLBindCol() 返回 SQL_SUCCESS_WITH_INFO,
则 pcbValue 包含从智能大对象中读取
的字节数。

咨询锁函数用于管理咨询锁(Advisory Lock)


pg_advisory_lock(key bigint)
描述:获取会话级别的排它咨询锁。
返回值类型:void
备注:
pg_advisory_lock 锁定应用程序定义的资源,
该资源可以用一个64 位或两个不重
叠的32 位键值标识。如果已经有另外的会话锁定了该资源,则该函数将阻塞到该资源可用
为止。这个锁是排它的。多个锁定请求将会被压入栈中,因此,如果同一个资源被锁定了三
次,它必须被解锁三次以将资源释放给其他会话使用。

pg_advisory_lock(key1 int, key2 int)
描述:获取会话级别的排它咨询锁。
返回值类型:void
备注:只允许sysadmin 对键值对(65535, 65535)加会话级别的排它咨询锁,普通用户无
权限。

pg_advisory_lock(int4, int4, Name)
描述:获取指定数据库的排它咨询锁。
返回值类型:void

pg_advisory_lock_shared(key bigint)
描述:获取会话级别的共享咨询锁。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
458
返回值类型:void

pg_advisory_lock_shared(key1 int, key2 int)
描述:获取会话级别的共享咨询锁。
返回值类型:void
备注:
pg_advisory_lock_shared 类似于pg_advisory_lock,
不同之处仅在于共享锁会话可
以和其他请求共享锁的会话共享资源,但排它锁除外。

pg_advisory_unlock(key bigint)
描述:释放会话级别的排它咨询锁。
返回值类型:Boolean

pg_advisory_unlock(key1 int, key2 int)
描述:释放会话级别的排它咨询锁。
返回值类型:Boolean
备注:pg_advisory_unlock 释放先前取得的排它咨询锁。如果释放成功则返回true。如
果实际上并未持有指定的锁,将返回false 并在服务器中产生一条SQL 警告信息。

pg_advisory_unlock(int4, int4, Name)
描述:释放指定数据库上的排它咨询锁。
返回值类型:Boolean
备注:如果释放成功则返回true;如果未持有锁,则返回false。

pg_advisory_unlock_shared(key bigint)
描述:释放会话级别的共享咨询锁。
返回值类型:Boolean

pg_advisory_unlock_shared(key1 int, key2 int)
描述:释放会话级别的共享咨询锁。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
459
返回值类型:Boolean
备注:
pg_advisory_unlock_shared 类似于pg_advisory_unlock,
不同之处在于该函数释放
的是共享咨询锁。

pg_advisory_unlock_all()
描述:释放当前会话持有的所有咨询锁。
返回值类型:void
备注:
pg_advisory_unlock_all 将会释放当前会话持有的所有咨询锁,
该函数在会话结束
的时候被隐含调用,即使客户端异常地断开连接也是一样。

pg_advisory_xact_lock(key bigint)
描述:获取事务级别的排它咨询锁。
返回值类型:void

pg_advisory_xact_lock(key1 int, key2 int)
描述:获取事务级别的排它咨询锁。
返回值类型:void
备注:
pg_advisory_xact_lock 类似于pg_advisory_lock,
不同之处在于锁是自动在当前事
务结束时释放,而且不能被显式的释放。只允许sysadmin 对键值对(65535, 65535)加事务级
别的排它咨询锁,普通用户无权限。

pg_advisory_xact_lock_shared(key bigint)
描述:获取事务级别的共享咨询锁。
返回值类型:void

pg_advisory_xact_lock_shared(key1 int, key2 int)
描述:获取事务级别的共享咨询锁。
返回值类型:void

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
460
备注:pg_advisory_xact_lock_shared 类似于pg_advisory_lock_shared,不同之处在于锁
是在当前事务结束时自动释放,而且不能被显式的释放。

pg_try_advisory_lock(key bigint)
描述:尝试获取会话级排它咨询锁。
返回值类型:Boolean
备注:pg_try_advisory_lock 类似于pg_advisory_lock,不同之处在于该函数不会阻塞以
等待资源的释放。它要么立即获得锁并返回true,要么返回false 表示目前不能锁定。

pg_try_advisory_lock(key1 int, key2 int)
描述:尝试获取会话级排它咨询锁。
返回值类型:Boolean
备注:只允许sysadmin 对键值对(65535, 65535)加会话级别的排它咨询锁,普通用户无
权限。

pg_try_advisory_lock_shared(key bigint)
描述:尝试获取会话级共享咨询锁。
返回值类型:Boolean

pg_try_advisory_lock_shared(key1 int, key2 int)
描述:尝试获取会话级共享咨询锁。
返回值类型:Boolean
备注:pg_try_advisory_lock_shared 类似于pg_try_advisory_lock,不同之处在于该函数
尝试获得共享锁而不是排它锁。

pg_try_advisory_xact_lock(key bigint)
描述:尝试获取事务级别的排它咨询锁。
返回值类型:Boolean

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
461

pg_try_advisory_xact_lock(key1 int, key2 int)
描述:尝试获取事务级别的排它咨询锁。
返回值类型:Boolean
备注:pg_try_advisory_xact_lock 类似于pg_try_advisory_lock,不同之处在于如果得到
锁,
在当前事务的结束时自动释放,
而且不能被显式的释放。
只允许sysadmin 对键值对(65535,
65535)加事务级别的排它咨询锁,普通用户无权限。

pg_try_advisory_xact_lock_shared(key bigint)
描述:尝试获取事务级别的共享咨询锁。
返回值类型:Boolean

pg_try_advisory_xact_lock_shared(key1 int, key2 int)
描述:尝试获取事务级别的共享咨询锁。
返回值类型:Boolean
备注:pg_try_advisory_xact_lock_shared 类似于pg_try_advisory_lock_shared,不同之处
在于如果得到锁,在当前事务结束时自动释放,而且不能被显式的释放。

lock_cluster_ddl()
描述:尝试对GBase 8c 内所有存活的数据库主节点获取会话级别的排他咨询锁。
返回值类型:Boolean
备注:只允许sysadmin 调用,普通用户无权限。

unlock_cluster_ddl()
描述:尝试对数据库主节点会话级别的排他咨询锁。
返回值类型:Boolean

展示出当前的用户列表,通过选中或取消选中,点击保存,来维护角色与
用户的关联关系。如下图:

统一数据平台监控与运维系统用户手册
南大通用数据技术股份有限公司
- 153 -