ITPub博客

首页 > 数据库 > > 安全维护-机机接口说明-CN接口

安全维护-机机接口说明-CN接口

作者:GaussDB_数据库 时间:2020-01-08 14:58:47 0 删除 编辑

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_fetch_sequence

描述:用于获取一定长度的序列。

接口:

int gsc_fetch_sequence(gsc_stmt_t pstmt, text_t *user, text_t *seq_name, gsc_sequence_t *gsc_seq);
参数:
  • pstmt,句柄对象。
  • user,用户名。
  • seq_name,序列的名称。
  • gsc_seq,获取到的序列信息。
返回值:
  • 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:失败。

是否线程安全:否

gsc_set_sequence_nextval

描述:用于修改序列的nextval。

接口:

int gsc_set_sequence_nextval(gsc_stmt_t pstmt, text_t *user, text_t *seq_name, int64 nextval);
参数:
  • pstmt,句柄对象。
  • user,用户名。
  • seq_name,序列的名称。
  • nextval,序列的nextval。
返回值:
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_get_sequence_nextval

描述:用于获取序列的nextval。

接口:

int gsc_get_sequence_nextval(gsc_stmt_t pstmt, text_t *user, text_t *seq_name, int64 *value);
参数:
  • pstmt,句柄对象。
  • user,用户名。
  • seq_name,序列的名称。
  • value,获取到序列的nextval。
返回值:
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_get_cn_nextval

描述:用于获取CN上的nextval。

接口:

int gsc_get_cn_nextval(gsc_stmt_t pstmt, text_t *user, text_t *seq_name, bool32 *empty_cache, int64 *value);
参数:
  • pstmt,句柄对象。
  • user,用户名。
  • seq_name,序列的名称。
  • empty_cache,存储序列的缓存是否为空。
  • value,获取到CN上的nextval
返回值:
  • 0:成功。
  • !=0:失败。

是否线程安全:否

gsc_notify_cn_update_cache

描述:用于通知其他CN更新存储序列的缓存。

接口:

int gsc_notify_cn_update_cache(gsc_stmt_t pstmt, text_t *user, text_t *seq_name);
参数:
  • pstmt,句柄对象。
  • user,用户名。
  • seq_name,序列的名称。
返回值:
  • 0:成功。
  • !=0:失败。

是否线程安全:否

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3158257/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19240