返回首页

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

更新日期:2024年09月11日

ifx_var_alloc() 函数为 lvarchar 或 var binary 主变量的数据缓冲区分配内存。

语法

var binary
mint ifx_var_alloc(var_bin, var_size)

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 814 -
var binary **var_bin
int4 var_size;

lvarchar
mint ifx_var_alloc(lvar, var_size)
lvarchar **lvar
int4 var_size;

var_bin
分配其数据缓冲区的 var binary 指针主变量的地址。
lvar
分配其数据缓冲区的 lvarchar pointer 主变量的地址。
var_size
要分配的以字节计的数据缓冲区的大小。

用法
ifx_var_flag() 函数的分配标志通知用于该数据缓冲区的分配方式的 GBase 8s
ESQL/C。如果您在 ifx_var_flag() 中设置分配标志为 0,则您必须以 ifx_var_alloc() 函数
为 var binary 主变量的数据缓冲区显式地分配内存。

重要: 或者您分配内存,或者允许 GBase 8s ESQL/C 为您分配内存,您必须通过使
用 ifx_var_dealloc() 函数来释放分配的内存。

返回代码
0
函数成功。
<0
函数不成功,且返回值指示错误的原因。

磁盘存储信息帮助 GBase 8s 确定如何在磁盘上最高效地存储智能大对象。
下表描述磁盘存储信息的类型,以及对应的客户机函数。对于大多数应用程序,推荐您使
用数据库服务器确定的磁盘存储信息的值。
磁盘存储信息
描述
客户机函数
估计的大小
对智能大对象最终大小的估计,
以字节
计。
数据库服务器使用此值来确定在哪
些 extent 中存储智能大对象。此值提
供优化的信息。如果该值很不正确,则
它不导致不正确的行为。然而,它确实
意味着数据库服务器可能不一定会为
智能大对象选择优化的 extent 大小。
ifx_lo_specget_estbytes()
ifx_lo_specset_estbytes()
最大大小
智能大对象的最大大小,以字节计。数
据库服务器不允许智能大对象增长超
出此大小。
ifx_lo_specget_maxbytes()
ifx_lo_specset_maxbytes()
分配 extent 大小
指定的分配 extent 大小,以 KB 计。
理想情况下,分配 extent 是保存所有
智能大对象数据的 chunk 中的单个
extent。
数据库服务器以分配 extent 大小的增
量来执行智能大对象的存储分配。
它试
图分配一个分配 extent 作为 chunk
中的单个 extent。然而,如果没有足够
大的单个 extent,则数据库服务器必须
使用必要的多个 extent 来满足请求。
ifx_lo_specget_extsz()
ifx_lo_specset_extsz()
sbspace 的名称
包含智能大对象的 sbspace 的名称。

此数据库服务器上,sbspace 最多可为
128 字符长,且必须以空来终止。
ifx_lo_specget_sbspace()
ifx_lo_specset_sbspace()

备份和恢复
........................................
16