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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论