暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T CN接口

墨天轮 2019-09-23
551

CN接口

GaussDB 100以分布式部署时,CN使用以下接口在DN执行操作。

gsc_shard.h

定义接口的文件。

gsc_fetch_raw

描述:用于获取DN上的数据。

接口

int gsc_fetch_raw(gsc_stmt_t pstmt);

参数:pstmt,句柄对象。

返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_fetch_data

描述:用于获取DN上的数据和记录数。

接口:

int gsc_fetch_data(gsc_stmt_t pstmt, unsigned int * rows);

参数

  • pstmt,句柄对象。
  • rows,待返回的记录数。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_fetch_data_ack

描述:用于获取ack中的数据和数据大小。

接口:

int gsc_fetch_data_ack(gsc_stmt_t pstmt, char** data, unsigned int *size);

参数

  • pstmt,句柄对象。
  • data,待返回的数据。
  • size,待返回的数据大小。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_fetch_data_attr_ack

描述:用于获取ack中数据的属性和记录行数。

接口:

int gsc_fetch_data_attr_ack(gsc_stmt_t pstmt, unsigned int * options, unsigned int *return_rows);

参数

  • pstmt,句柄对象。
  • options,待返回的数据属性。
  • return_rows,待返回的记录行数。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_init_paramset_length

描述:用于初始化数据集合缓冲区。

接口:

int gsc_init_paramset_length(gsc_stmt_t pstmt);

参数

  • pstmt,句柄对象。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_bind_by_pos_batch

描述:用于设置绑定参数缓冲区大小和数据内容。

接口:

int gsc_bind_by_pos_batch(gsc_stmt_t pstmt, unsigned int pos, int type, const void * data, int size, unsigned int is_null);

参数

  • pstmt,句柄对象。
  • pos,绑定位置。
  • type,绑定数据类型。
  • data,绑定数据。
  • size,绑定大小。
  • is_null,数据是否为空。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_init_params

描述:用于初始化绑定参数缓冲区。

接口:

int gsc_init_params(gsc_stmt_t pstmt, unsigned int param_cout, unsigned int is_batch);

参数

  • pstmt,句柄对象。
  • param_cout,绑定参数个数。
  • is_batch,是否是批量。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_paramset_size_inc

描述:用于对数据集合的大小加一。

接口:

void gsc_paramset_size_inc(gsc_stmt_t pstmt);

参数

  • pstmt,句柄对象。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_pe_prepare

描述:用于预处理SQL。

接口:

int gsc_pe_prepare(gsc_stmt_t stmt, const char * sql, const struct timeval* timestamp);

参数

  • stmt,句柄对象。
  • sql,SQL语句。
  • timestamp,时间戳。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

async_pe_execute

描述:用于向DN发送请求报文,需要先执行gsc_pe_prepare。

接口:

int async_pe_execute(gsc_stmt_t stmt, bool32 *more_param);

参数

  • stmt,句柄对象。
  • more_param,请求参数。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

async_pe_execute_ack

描述:用于获取DN返回的报文。

接口:

int async_pe_execute_ack(gsc_stmt_t pstmt, const char * sql, struct timeval* timestamp);

参数

  • pstmt,句柄对象。
  • sql,SQL语句。
  • timestamp,时间戳。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_async_execute

描述:用于向DN发送请求报文。

接口:

int gsc_async_execute(gsc_stmt_t pstmt, bool32 *more_param);

参数

  • pstmt,句柄对象。
  • more_param,请求参数。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_async_execute_ack

描述:用于获取DN返回的报文。

接口:

int gsc_async_execute_ack(gsc_stmt_t pstmt);

参数

  • pstmt,句柄对象。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

async_commit

描述:用于向DN发送commit请求,提交未决事务。

接口:

int async_commit(gsc_conn_t conn);

参数

  • conn,连接对象。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

async_commit_ack

描述:用于获取DN返回的报文。

接口:

int async_commit_ack(gsc_conn_t conn);

参数

  • conn,连接对象。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

async_rollback

描述:用于向DN发送rollback请求,回滚未决事务。

接口:

int async_rollback(gsc_conn_t conn);

参数

  • conn,连接对象。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

async_rollback_ack

描述:用于获取DN返回的报文。

接口:

int async_rollback_ack(gsc_conn_t conn);

参数

  • conn,连接对象。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

async_xa_rollback

描述:用于向DN发送两阶段事务回滚请求。

接口:

int async_xa_rollback(gsc_conn_t conn, const void * xid, unsigned int xid_len, const struct timeval* timestamp, unsigned int is_2pc_clean, unsigned int if_exists);

参数

  • conn,连接对象。
  • xid,全局事务id。
  • xid_len,全局事务id长度。
  • timestamp,时间戳。
  • is_2pc_clean,是否清理两阶段事务。
  • if_exists,
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

async_xa_prepare

描述:用于向DN发送两阶段预处理请求。

接口:

int async_xa_prepare(gsc_conn_t conn, const void * xid, unsigned int xid_len, const struct timeval* timestamp);

参数

  • conn,连接对象。
  • xid,全局事务id。
  • xid_len,全局事务id长度。
  • timestamp,时间戳。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

async_xa_commit

描述:用于向DN发送两阶段提交请求。

接口:

int async_xa_commit(gsc_conn_t conn, const void * xid, unsigned int xid_len, const struct timeval* timestamp, unsigned int is_2pc_clean);

参数

  • conn,连接对象。
  • xid,全局事务id。
  • xid_len,全局事务id长度。
  • timestamp,时间戳。
  • is_2pc_clean,是否清理两阶段事务。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

async_xa_rollback_ack

描述:用于获取DN返回的两阶段回滚响应。

接口:

int async_xa_rollback_ack(gsc_conn_t conn, const void * xid, unsigned int xid_len, struct timeval* timestamp);

参数

  • conn,连接对象。
  • xid,全局事务id。
  • xid_len,全局事务id长度。
  • timestamp,待返回的时间戳。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

async_xa_prepare_ack

描述:用于获取DN返回的两阶段预处理响应。

接口:

int async_xa_prepare_ack(gsc_conn_t conn, const void * xid, unsigned int xid_len, struct timeval* timestamp);

参数

  • conn,连接对象。
  • xid,全局事务id。
  • xid_len,全局事务id长度。
  • timestamp,待返回的时间戳。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

async_xa_commit_ack

描述:用于获取DN返回的两阶段提交响应。

接口:

int async_xa_commit_ack(gsc_conn_t conn, const void * xid, unsigned int xid_len, struct timeval* timestamp);

参数

  • conn,连接对象。
  • xid,全局事务id。
  • xid_len,全局事务id长度。
  • timestamp,待返回的时间戳。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_gts

描述:用于从DN获取时间戳。

接口:

int gsc_gts(gsc_conn_t pconn, struct timeval *new_time);

参数

  • pconn,连接对象。
  • new_time,待返回的时间戳。
返回值
  • 0:成功。
  • !=0:失败。

是否线程安全:否

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论