VastbaseG100

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

Menu

复杂类型接口

OCITypeByName

功能描述

通过名称获取复杂类型描述符。

功能说明

通过名称获取复杂类型描述符。

接口信息

函数/过程

获取现有 TDO 的最新版木。此调用不支持包级别的类型。模式的名称和类型的名称分别以单字符串输入。语法如下:

sword OCITypeByName ( OCIEnv   *env,
             OCIError   *err,
             const  OCISvcCtx  *svc,
             const  OraText   *schema_name,
             ub4      s_length,
             const   OraText   *type_name,
             ub4     t_length,
             const  OraText  *version name,
             ub4   v_length,
             OCIDuration  pin_duration,
             OCITypeGetOpt  get_option,
             OCIType     **tdo );

参数解释如下:

  • 输入

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

    • err (IN/OUT): OCI错误句柄。如果出现错误,则记录在err中,此函数返回 OCI_error。 通过调用 OCIErrorGet ()获取诊断信息。

    • svc (IN) : OCI服务句柄。

    • schema_name (IN,可选): 与类型关联的架构的名称。默认情况下,将使用用户的模式名称。此处需全部大写,否则返回错误。

    • s_length (IN): schema_name 参数的长度,以字节为单位。

    • type_name(IN): 要获取的类型的名称。此处需全部大写,否则返回错误。

    • t_length (IN) : type_name参数的长度,以字节为单位。

    • version_name (IN): 版本名称。该参数在此次接口中并未使用,不做参数判断。

    • v_length (IN): 版本名称的长度(以字节为单位)。该参数在此次接口中并未使用,不做参数判断。

    • pin_duration (IN): 持续时间。该参数在此次接口中并未使用,不做参数判断。

    • get_option (IN): 用于加载类型的选项。它可以是两个值之一: OCI_TYPEGET_HEADER (仅加载标头) OCI_TYPEGET_ALL(加载 TDO 以及所有ADO和MDO)。该参数在此次接口中并未使用,不做参数判断。

    • tdo(OUT) :指向对象缓存中固定类型的指针。

  • 输出

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

其他说明

OCITypeByRef

功能描述

通过ref时获取TDO。

功能说明

通过ref时获取TDO。

接口信息

函数/过程

语法如下:

sword OCITypeByRef( OCIEnv  *env,
               OCIError   *err,
               const OCIRef   *type_ref,
               OCIDuration    pin_duration,
               OCITypeGetOpt   get_option,
               OCIType   **tdo);

参数解释如下:

  • 输入

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

    • err (IN/OUT): OCI错误句柄。如果出现错误,则记录在err中,此函数返回 OCI_error。 通过调用 OCIErrorGet ()获取诊断信息。

    • type_ref (IN): OCIRef*指向要获取的类型描述符对象的版本。

    • 引脚持续时间(IN): 固定要检索的类型的当前事务结束之前的持续时间。

    • 获取选项(IN): 用于加类型的选项。它可以是两个值之: OCI_TYPEGET_HEEADER(仅加载标头) OCI_TYPEGET_ALL (加载 TDO 以及所有ADO和MDO)。

    • tdo(OUT) : 指向对象缓存中固定类型的指针。

    由于内核并不支持ref类型,本批次并未实现该接口。

  • 输出

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

其他说明

OCICollGetElem

功能描述

获取指向给定索引处元素的指针。

功能说明

获取指向给定索引处元素的指针。

接口信息

函数/过程

语法如下:

sword OCICollGetElem ( OCIEnv  *env,
               OCIError   *err,
               const OCIColl   *coll,
               sb4     index,
               boolean  *exists,
               void    **elem,
               void    **elemind);

参数解释如下:

  • 输入

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

    • err(N/OUT): 错误句柄。

    • coll(IN): 指向此集合中要返回的元素的指针。

    • index(IN): 要返回其指针的元素的索引。

    • exists(OUT): 如果指定索引处的元素不存在,则设为FALSE;否则,设置为TRUE。

    • elem(OUT): 要返回的元素地址。

    • elemind(OUT)[optional]: 返回 NULL 指示符信息的地址。如果(elemind== NULL),则不返回NULL 指示符信息。(暂不支持)

  • 输出

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

其他说明

OCICollAssignElem

功能描述

将给定的元素值 elem 赋给 coll[index] 处的元素。

功能说明

将给定的元素值 elem 赋给 coll[index] 处的元素。

接口信息

函数/过程

语法如下:

sword OCICollAssignElem( OCIEnv  *env,
                OCError    *err,
                sb4             index,
                const void   *elem,
                const void   *elemind
                OCIColl       *coll );

参数解释如下:

  • 输入

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

    • err(N/OUT): 错误句柄。

    • index(IN): 要被赋值的元素的索引。

    • elem(OUT): 从其中分配元素的源元素。

    • elemind(OUT)[optional]: 指向元素的NULL 指示符信息的指针:if(elemind == NULL),则指定元素的NULL 指示符信息被设置为非NULL。 (暂不支持)

    • col1(IN): 要更新的集合。

  • 输出

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

其他说明

OCICollAssign

功能描述

将(深度拷贝)一个集合分配给另一个集合。

功能说明

将(深度拷贝)一个集合分配给另一个集合。

接口信息

函数/过程

语法如下:

sword OCICollAssign( OCIEnv   *env,
            OCIError    *err,
            const OCIColl   *rhs,
            OCIColl              *lhs ):

参数解释如下:

  • 输入

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

    • err(IN/OUT): 错误句柄。

    • rhs (IN): 要从中分配的右侧(源)集合。

    • Ihs(OUT): 要分配给的左侧(目标)集合。

  • 输出

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

其他说明

OCICollAppend

功能描述

将元素追加到集合的末尾。

功能说明

将元素追加到集合的末尾。

接口信息

函数/过程

语法如下:

sword OCICollAppend ( OCIEnv   *env,
             OCIError     *err,
             const void    *elem,
             const void  *elemind,
             OCIColl   *coll );

参数解释如下:

  • 输入

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

    • err(IN/OUT): 错误句柄。

    • elem(OUT): 指向要附加到给定集合末尾的元素的指针。(因为传入参数为void*,且此接口为深拷贝,所以只支持append 与 col1l相对应类型的元素)

    • elemind(OUT)[optional]: 指向元素的NULL 指示符信息的指针;if(elemind==NULL),则指定元素的NULL 指示符信息被设置为非NULL。 (暂不支持)

    • coll(IN): 要更新的集合。

  • 输出

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

其他说明

OCICollMax

功能描述

获取给定集合中元素数量的最大大小。

功能说明

获取给定集合中元素数量的最大大小。(目前都会返回 0,表示最大大小无限制)

接口信息

函数/过程

语法如下:

sb4 OCICollMax( OCIEnv  *env,
                const OCIColl  *coll );

参数解释如下:

  • 输入

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

    • col1(IN): 返回其元素个数的集合。coll参数必须指向有效的集合描述符。

  • 输出

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

其他说明

OCICollSize

功能描述

获取给定集合中元素数量的当前大小。

功能说明

获取给定集合中元素数量的当前大小。

接口信息

函数/过程

语法如下:

sword OCICollSize( OCIEnv  *env,
             OCIError    *err,
             const OCIColl  *coll
             sb4   *size);

参数解释如下:

  • 输入

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

    • err (IN/OUT): 错误句柄。

    • coll(IN): 返回其元素个数的集合。

    • size(OUT): 集合中元素的当前数目。

  • 输出

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

其他说明

OCICollTrim

功能描述

从集合的末尾裁剪给定数量的元素。

功能说明

从集合的末尾裁剪给定数量的元素。

接口信息

函数/过程

语法如下:

sword OCICollTrim( OCIEnv   *env,
            OCIError   *err,
            sb4             trim_num,
            OCIColl      *coll );

参数解释如下:

  • 输入

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

    • err (IN/OUT): 错误句柄。

    • trim_num(IN): 要修剪的元素数量。

    • coll (IN): 从集合 coll的末尾移除(释放)trim_num 的元素。

  • 输出

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

其他说明

OCITypeArrayByRef

功能描述

当给定引用数组时,获取tdo数组。

功能说明

当给定引用数组时,获取tdo数组。

接口信息

函数/过程

语法如下:

Sword OCITypeArrayByRef(  OCIEnv *env, OCIError *err,
ub4 array_len, const OCIRef  **type_ref,
OCIDuratin  pin_duration,
OCITypeGetOpt get_option, OCIType  **tdo );

参数解释如下:

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

  • err (IN/0UT):OCI错误句柄。如果出现错误,则记录在 err 中,此函数返回OCI_error。通过周用OCIErrorGet ()获取诊断信息。

  • array_len(IN):数组大小。

  • type_ref(IN):OCIRef**指向要获取的类型描述符对象的版本。

  • 引脚持续时间(IN):固定要检索的类型的当前事务结束之前的持续时间。

  • 获取选项(IN):用于加载类型的选项。它可以是两个值之一:OCI_TYPEGET_HEADER(仅加载标头)OCI_TYPEGET_ALL (加载TDO以及所有 ADO 和MDO)。

  • tdo(OUT):指向对象缓存中固定类型的指针。

其他说明

OCITypeArrayByName

功能描述

当给定名称数组时,获取tdo数组。

功能说明

当给定名称数组时,获取tdo数组。

接口信息

函数/过程

语法如下:

OClTypeArrayByName(  OCIEnv  *env, OCIError  *err, const OCISvcCtx *svc,
ub4 aray_len,
const oratext *schema_name[], ub4 s_length[],
const oratext *type_name[], ub4 t_length[],
const oratext *version_name[], ub4 v_length[],
OCIDuration  pin_duration,
OCITypeGetOpt get_option, OCIType **tdo )

参数解释如下:

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

  • err(IN/0UT):OCI 错误句柄。如果出现错误,则记录在err 中,此函数返回OCI_error。通过调用 OCIErrorGet ()获取诊断信息。

  • svc (IN):OCI服务句柄。

  • array_len (IN):数组的大小。

  • schema_name (IN,可选):与类型关联的架构的名称。默认情况下,将使用用户的模式名称。此处需全部大写,否则返回错误。

  • s_length (IN):schema_name参数的长度,以字节为单位。

  • type_name (IN) :要获取的类型的名称。此处需全部大写,否则返回错误。

  • t_length (IN):type_name 参数的长度,以字节为单位。

  • version_name (IN):版本名称。该参数在此次接口中并未使用,不做参数判断。

  • v_length (IN):版本名称的长度(以字节为单位)。该参数在此次接口中并未使用,不做参数判断。

  • pin_duration(IN):持续时间。该参数在此次接口中并未使用,不做参数判断。

  • get_option(IN):用于加载类型的选项。它可以是两个值之一:OCI_TYPEGET_HEADER (仅加载标头)OCI_TYPEGET_ALL(加载TDO 以及所有 ADO和MDO)。该参数在此次接口中并未使用,不做参数判断。

  • tdo(OUT):指向对象缓存中固定类型的指针。

其他说明

OCIBindObject

功能描述

设置指定数据类型(对象)绑定所需的附加属性。

功能说明

设置指定数据类型(对象)绑定所需的附加属性。

接口信息

函数/过程

语法如下:

sword OCIBindObject(   OCIBind          *bindp,
OCIError          *errhp,
const OCIType  *type,
void                    **pgvpp,
ub4                    *pvszsp,
void                   **indpp,
ub4                     *indszp);

参数解释如下:

  • bindp(IN/OUT):调用OCIBindByName()、OCIBindByPos()返回的绑定句柄。

  • errhp(IN/OUT):错误句柄,当出现错误时,可以将其传递给OCIErrorGet ()以获取诊断信息。

  • type(IN):指向描述要定的程序变量类型的TDO。通过调用 OCITypeByName ()获取。

  • pgvpp(IN/OUT):程序变量缓冲区的地址。此处暂时不支持pgvpp为 NULL的情况,虽然不会在OCIBindObject 中出现异常,但是在OCIStmtexecute会出现异常。

  • pvszsp(OUT):[可选]指向程序变量的大小。输入时不需要指定数据类型的大小。该参数在此次接口中并未使用,不做参数判断。

  • indpp(IN/OUT):[可选]包含并行指示符结构的程序变量缓冲区的地址。该参数在此次接口中并未使用,不做参数判断。

  • indszp (IN/OUT):指向IN指示器结构程序变量的大小。该参数在此次接口中并未使用,不做参数判断。

其他说明