VastbaseG100

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

Menu

环境初始化接口

DCIEnvCreate

功能描述

创建并初始化 DCI 函数的工作环境句柄。

功能说明

此调用返回一个环境句柄,由其余 DCI 函数使用。DCI 中可以有多个环境,每个环境都有自己的环境模式。如果任何模式需要,此函数还会执行任何进程级初始化。例如,如果要将mode参数设为DCI_THREADED ,则 DCI 使用的所有库也将在线程模式下初始化。

接口信息

函数/过程

DCIEnvCreate语法如下:

sword DCIEnvCreate(
DCIEnv **envp, 
ub4 mode,
void  *ctxp,
void  *(*malocfp)(void  *ctxp, size_t size),
void  *(*ralocfp)(void  *ctxp, void  *memptr, size_t newsize),
void   (*mfreefp)(void  *ctxp, void  *memptr),
size_t xtramem_sz, 
void  **usrmempp
); 

参数解释如下:

  • envhpp (OUT):用来保存创建完成的DCIEnv句柄。

  • mode (IN):指定初始化模式类型,

    • DCI_DEFAULT: 默认模式。

    • DCI_THREADED: 线程环境模式。在此模式下,不向用户公开的内部数据结构受到保护,防止多个线程并发访问。(暂不支持)

    • DCI_OBJECT: 使用对象特性。(暂不支持)

    • DCI_EVENTS: 使用发布者-订阅者通知模式。(暂不支持)

    • DCI_NO_UCB: 抑制动态回调函数DCIEnvCallback()的调用。默认行为是允许在创建环境时调用。(暂不支持)

    • DCI_ENV_NO_MUTEX: 在此模式下不会发生互斥(互斥)锁定。在环境句柄或从环境句柄派生的句柄上完成的所有 DCI 调用都必须序列化。(暂不支持)

    • DCI_SUPPRESS_NLS_VALIDATION: 禁止 NLS 字符验证。(暂不支持)

    • DCI_NEW_LENGTH_SEMANTICS: 字节长度语义一致地用于所有句柄,而不考虑字符集。(暂不支持)

    • DCI_NCHAR_LITERAL_REPLACE_ON: 打开 N' 替换。(暂不支持)

    • DCI_NCHAR_LITERAL_REPLACE_OFF: 关闭 N' 替换。(暂不支持)

    • DCI_ENABLE_NLS_VALIDATION: 启用 NLS 字符验证。(暂不支持)

  • ctxp (IN):用户自定义内存回调函数的上下文环境。

  • malocfp (IN): 用户自定义的内存分配函数。如果mode为DCI_THREADED ,则此内存分配函数必须是线程安全的。(暂不支持)

    • cxtp(IN/OUT):内存分配功能的上下文指针。

    • size(IN):分配的内存大小。

  • ralocfp (IN):用户自定义的内存重新分配函数。如果mode为DCI_THREADED , 则此内存分配函数必须是线程安全的。(暂不支持)

    • ctxp (IN/OUT):内存重新分配功能的上下文指针。

    • memptr (IN/OUT):内存重新分配获得的内存块指针。

    • newsize (IN):重新分配的内存大小。

  • mfreefp (IN):用户自定义的内存释放函数。如果mode为DCI_THREADED ,则此内存函数必须是线程安全的。(暂不支持)

    • cxtp(IN/OUT):内存释放功能的上下文指针。

    • memptr(IN):指向要释放的内存的指针。

  • xtramemsz (IN):指定在初始化环境期间分配的用户内存量。(暂不支持)。

  • usrmempp (OUT):返回一个指针,该指针指向xtramemsz大小的用户内存。(暂不支持)。

外部接口

无。

其他说明

无。