VastbaseG100

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

Menu

句柄属性管理接口

此处的属性是指DCI的句柄中字段的值,为了在使用DCI的过程中随时掌握当前句柄的状态,增加了属性管理相关的接口,包括DCIAttrSet、DCIAttrGet分别为属性设置、属性获取。

句柄

下图为DCI的全部句柄,最后一列标出了是否已经实现:

描述 结构体 句柄标识 是否实现
DCI environment handle DCIEnv DCI_HTYPE_ENV
DCI error handle DCIError DCI_HTYPE_ERROR
DCI service context handle DCISvcCtx DCI_HTYPE_SVCCTX
DCI statement handle DCIStmt DCI_HTYPE_STMT
DCI bind handle DCIBind DCI_HTYPE_BIND
DCI define handle DCIDefine DCI_HTYPE_DEFINE
DCI describe handle DCIDescribe DCI_HTYPE_DESCRIBE
DCI server handle DCIServer DCI_HTYPE_SERVER
DCI user session handle DCISession DCI_HTYPE_SESSION
DCI authentication information handle DCIAuthInfo DCI_HTYPE_AUTHINFO
DCI connection pool handle DCICPool DCI_HTYPE_CPOOL
DCI session pool handle DCISPool DCI_HTYPE_SPOOL
DCI transaction handle DCITrans DCI_HTYPE_TRANS
DCI complex object retrieval (COR) handle DCIComplexObject DCI_HTYPE_COMPLEXOBJECT
DCI thread handle DCIThreadHandle Not applicable
DCI subscription handle DCISubscription DCI_HTYPE_SUBSCRIPTION
DCI direct path context handle DCIDirPathCtx DCI_HTYPE_DIRPATH_CTX
DCI direct path function context handle DCIDirPathFuncCtx DCI_HTYPE_DIRPATH_FN_CTX
DCI direct path column array handle DCIDirPathColArray DCI_HTYPE_DIRPATH_COLUMN_ARRAY
DCI direct path stream handle DCIDirPathStream DCI_HTYPE_DIRPATH_STREAM
DCI process handle DCIProcess DCI_HTYPE_PROC
DCI administration handle DCIAdmin DCI_HTYPE_ADMIN
DCI HA event handle DCIEvent Not applicable
DCI SODA collection handle DCISodaColl DCI_HTYPE_SODA_COLLECTION
DCI SODA collection cursor handle DCISodaCollCursor DCI_HTYPE_SODA_CURSOR
DCI SODA document cursor handle DCISodaDocCursor DCI_HTYPE_SODA_DOC_CURSOR
DCI SODA document handle DCISodaDoc DCI_HTYPE_SODA_DOCUMENT
DCI SODA output options handle DCISodaOutputOptions DCI_HTYPE_SODA_OUTPUT_OPTIONS
DCI SODA operation options handle DCISodaOperationOptions DCI_HTYPE_SODA_OPER_OPTIONS

属性

其中属性是根据句柄或描述符进行分类的,由于DCI的属性较多,在此我们只列出支持的属性如下:

句柄或描述符 属性 读写 类型 含义
服务上下文句柄(Service Context Handle) DCI_ATTR_SERVER READ/WRITE DCIServer ** / DCIServer * 服务句柄
DCI_ATTR_SESSION READ/WRITE DCISession **/ DCISession * 会话句柄
语句句柄(Statement Handle) DCI_ATTR_BIND_COUNT READ ub4 * 绑定参数个数
DCI_ATTR_ENV READ DCIEnv ** 环境句柄
DCI_ATTR_FETCH_ROWID READ/WRITE boolean */boolean ROWIDs
DCI_ATTR_PARAM_COUNT READ ub4 * 结果集列数
DCI_ATTR_PREFETCH_ROWS WRITE ub4 * 需要预取行集数量
DCI_ATTR_STMT_STATE READ ub4 * 语句状态
DCI_ATTR_STATEMENT READ oratext * 返回sql语句
DCI_ATTR_ROW_COUNT READ ub4 * 实际返回的记录的行数
绑定句柄(Bind Handle) DCI_ATTR_MAXCHAR_SIZE WRITE sb4 * 最大字符数
DCI_ATTR_MAXDATA_SIZE READ/WRITE sb4 * 最大字节数
定义句柄(Define Handle) DCI_ATTR_MAXCHAR_SIZE WRITE sb4 * 最大字符数
环境句柄(Environment Handle) DCI_ATTR_LDAP_HOST READ/WRITE oratext **/oratext * 数据源主机
DCI_ATTR_LDAP_PORT READ/WRITE ub2 */ub2 数据源端口
服务句柄 DCI_ATTR_ENV READ DCIEnv ** 环境句柄
用户会话句柄(User Session Handle) DCI_ATTR_USERNAME READ/WRITE oratext **/oratext * 用户名
DCI_ATTR_PASSWORD WRITE oratext * 用户密码
参数描述符(Read-only parameter descriptor) DCI_ATTR_DATA_TYPE READ ub2 */ub2 参数类型
DCI_ATTR_NAME READ OraText * 参数名称
DCI_ATTR_DATA_SIZE READ ub4 */ub4 参数大小
DCI_ATTR_TYPE_NAME READ OraText * 参数类型名
DCI_ATTR_SCHEMA_NAME READ OraText * 参数模式名
DCI_ATTR_PRECISION READ sb2 数字精度
DCI_ATTR_SCALE READ sb1 数字小数部分

DCIAttrSet

功能描述

设置句柄或描述符属性的值。

功能说明

在使用句柄或描述符时需要设置属性值,以便于设置DCI信息,或执行期望动作。

接口信息

函数/过程

DCIAttrSet的语法如下:

sword DCIAttrSet ( void        *trgthndlp,
        ub4          trghndltyp,
        void        *attributep,
        ub4          size,
        ub4          attrtype,
        DCIError    *errhp );

参数解释如下:

  • trgthndlp(IN/OUT):指向属性被修改的句柄的指针。

  • trghndltyp(IN/OUT):trgthndlp句柄的类型。

  • attributep(IN):指向属性值的指针。

  • size(IN):属性值的大小。大多数属性可以作为0传入。对于text*属性必须将ub4设置为字符串的长度(以字节为单位)。

  • attrtype(IN):正在设置的属性类型。

  • errhp(IN):当出现错误时,您可以传递给DCIErrorGet()以获取诊断信息的错误句柄。

外部接口

无。

其它说明

无。

DCIAttrGet

功能描述

获取句柄或描述符属性的值。

功能说明

在使用句柄或描述符时需要获取属性值,以便于了解DCI信息。

接口信息

函数/过程

sword DCIAttrGet ( const void     *trgthndlp,
        ub4             trghndltyp,
        void           *attributep,
        ub4            *sizep,
        ub4             attrtype,
        DCIError       *errhp );

参数解释如下:

  • trgthndlp(IN):指向要获取的属性的句柄的指针。

  • trghndltyp(IN):trgthndlp句柄的类型。

  • attributep(OUT):指向属性值的指针。

  • sizep(OUT):属性值的大小总是以字节为单位。对于大多数属性,这可以作为NULL传递。对于 text* 参数,必须传入指向 ub4 的指针以获取字符串的长度。

  • attrtype(IN):正在获取的属性类型。

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

外部接口

其它说明

无。