VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

内存上下文接口

OCIGenerateMemoryContext

功能描述

生成一个内存上下文。

功能说明

生成一个内存上下文。

接口信息

函数/过程

OCIGenerateMemoryContext语法如下:

MemoryContext* OCIGenerateMemoryContext();

其他说明

OCIDeleteContext

功能描述

删除内存上下文。

功能说明

删除内存上下文。

数据相关性

接口信息

函数/过程

OCIDeleteContext语法如下:

void OCIDeleteContext(MemoryContext* context);

cntext:想要删除的内存上下文。

其他说明

OCISetCurrentContext

功能描述

设置当前上下文。

功能说明

设置当前上下文。

接口信息

函数/过程

OCISetCurrentContext语法如下:

void OCISetCurrentContext(MemoryContext* context, MemoryContext* currentContext);

具体参数解释如下:

  • cntext:想要设置的内存上下文。
  • currentContext:当前内存上下文。

其他说明

OCIMallocate

功能描述

在当前上下文申请内存。

功能说明

在当前上下文申请内存。

数据相关性

接口信息

函数/过程

OCIMallocate语法如下:

void* OCIMallocate(int size, MemoryContext* currentContext);

参数的解释如下:

  • size:要申请的内存大小。
  • currentContext:当前内存上下文。

其他说明

OCIBefree

功能描述

释放 OCIMallocated 申请的内存。

功能说明

释放 OCIMallocated 申请的内存。

接口信息

函数/过程

OCIBefree语法如下:

void OCIBefree(void* pointer, MemoryContext* currentContext);

具体参数解释如下:

  • env(IN/OUT):OCI环境句柄在对象模式下初始化。

  • err(IN/OUT):当发生错误时,可以传递给 OCIErrorGet ()用于诊断信息的错误句柄。

  • index(IN):扫描起点的索引。

  • tbl(IN):被扫描的表。

  • next_index(OUT):tbl(索引)之后的现有元素的下一个索引。

  • exists(OUT):如果没有下一个索引可用,则返回FALSE;否则为TRUE。

其他说明

OCIContextGetValue

功能描述

生成一个内存上下文。

功能说明

生成一个内存上下文。

接口信息

函数/过程

语法如下:

sword OCIContextGetValue ( void   *hndl,
            OCIError        *err,
            ub1             *key,
            ub2              keylen,
            void             **ctx value);

具体参数解释如下:

  • 输入

    • hndl(IN):环境句柄或者用户会话句柄。

    • err(IN):错误句柄。

    • key(IN):唯一的键值。

    • kexlen(IN):密钥的长度。最大值为 255字节或UB1MAXVAL-1。

    • Ctx_value(IN):指向存储在上下文中的值的指针(如果没有存储值,则为 NULL)。

  • 输出

    • sword(OUT):函数是否成功执行。

其他说明

OCIContextSetValue

功能描述

保存特定持续时间内的值(或地址)。

功能说明

保存特定持续时间内的值(或地址)。

接口信息

函数/过程

语法如下:

sword OCIContextSetValue ( void       *hndl,
             OCIError         *err,
             OCIDuration      duration,
             ub1              *key,
             ub2              keylen,
             void             **ctx value);

具体参数解释如下:

  • 输入

    • hndl(IN):OCI环境或者用户会话句柄。

    • err(IN):错误句柄。

    • duration(IN):用户创建的可用的持续时间或者以下值:

    OCI_DURATION_STATEMENT;

    OCI_DURATION_SESSION;

    • 目前只支持 OCI_DURATION_STATEMENT、OCI_DURATION_SESSION的作用范围。

    • key(IN):唯一的键值。

    • kexlen(IN):密钥的长度。最大值为 255字节或UB1MAXVAL-1。

    • Ctx_value(IN):指向存储在上下文中的值的指针(如果没有存储值,则为 NULL)。

  • 输出

    • sword(OUT):函数是否成功执行。

其他说明

OCIMemoryAlloc

功能描述

从给定的持续时间中分配给定大小的内存。

功能说明

从给定的持续时间中分配给定大小的内存。

接口信息

函数/过程

语法如下:

sword OCIMemoryAlloc ( void   *hndl,
            OCIError        *err,
            void            **mem,
            OCIDuration     dur,
            ub4             size,
            ub4             flags);

具体参数解释如下:

  • 输入

    • hndl(IN):如果是环境句柄,那 dur参数只能是 OCI_DURATION_PROCESS;否则是用户会话句柄(OCISession *)。

    • err(IN):错误句柄。

    • mem(OUT):需要分配内存的指针。

    • dur(IN):用户创建的可用的持续时间或者以下值:

    OCI_DURATION_CALLOUT;

    OCI_DURATION_STATEMENT;

    OCI_DURATION_SESSION;

    OCI_DURATION_PROCESS;

    目前该参数并没有参与函数实现,并无实质作用。

    • size (IN):需要申请的内存大小,由于 od和 oracle在 c语言下的实现有区别,size只能大于等于实际使用的内存大小。

    • flags(IN):设置OCI_MEMORY_CLEARED位以获取已清除的内存。

  • 输出

    • sword(OUT):函数是否成功执行。

其他说明

OCIMemoryFree

功能描述

释放已经申请的内存。

功能说明

释放已经申请的内存。

接口信息

函数/过程

语法如下:

sword OCIMemoryFree ( void  *hndl,
            OCIError        *err,
            void            **mem);

具体参数解释如下:

  • 输入

    • hndl(IN):环境句柄或者用户会话句柄。

    • err(IN):错误句柄。

    • mem(IN/OUT):使用OCIMemoryAlloc()调用申请内存的指针。

  • 输出

    • sword(OUT):函数是否成功执行。

其他说明