返回首页

gbase数据、南大通用产品文档:GBase8sadmin() 和 task() 函数返回代码

更新日期:2024年09月11日

admin() 和 task() 函数执行相同的任务,但产生不同的返回代码类型。如果您想要一个
整数返回代码,
则使用 admin() 函数,
或者如果您想要一个文本的返回代码,
则使用 task()
函数。
当您运行 admin() 或 task() 函数时,函数:
 执行指定的操作。
 返回一个表示函数成功还是失败的值。
 在 sysadmin 数据库的 command_history 表内插入一行。
admin() 和 task() 函数的返回代码以不同的格式表明函数是成功了还是失败了:
 task() 函数返回一个文本的消息。该消息也插入到 task() 函数插入到
command_history 表内那个新行中的 cmd_ret_msg 列。
 admin() 函数返回一个整数。这个数也插入到 admin() 函数插入到
command_history 表内那个新行中的 cmd_ret_msg 列。

如果这个值大于零,则函数成功,且在 command_history 表内插入一新行。


如果这个值是零,
则函数成功,
但是 GBase
8s 可能不在 command_history 表
内插入一新行。

如果这个值小于零,
则函数失败,
但是在 command_history 表内插入一新行。

admin() 或 task() 函数指定的操作发生在一个单独的事务中,
与在 command_history 表
内插入新行的事务分开。如果成功地执行命令,但是在 command_history 表内插入失败,
则命令生效,但是一个 online.log 错误条目指明该问题。
当调用这个函数时,如果 command_history.cmd_number 连续计数器是 200,且命令成功,
则 GBase 8s 执行命令并返回整数 201。如果命令失败,则这个示例返回值 -201。
假定 task() 函数执行了同一命令:
EXECUTE FUNCTION task("check extents");
这个命令指导数据库服务器检查 extent,并返回指定命令成功或失败的消息。
当调用这个函数时,如果 command_history.cmd_number 连续计数器是 201,且命令失败,
则返回值是 -202。假定 DBSA 调用的下一个 SQL 管理 API 函数是这个:
EXECUTE FUNCTION admin('create dbspace',
'dbspace2', '/work/CHUNKS/dbspace2', "20M");
如果在这种情况下命令成功,则返回的值是 203。DBSA 可使用下列查询来检查这些调用
admin() 函数插入 command_history 表的两行:
SELECT * FROM command_history WHERE cmd_number IN (202,203);

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 673 -
这个查询返回两行:

说明
随机脱敏函数只对数字类型起作用。
它会将数字随机显示成指定范围内的值,若多次执行,同一行的随机值会不同。
示例
假设先设置脱敏范围为(1,4)。

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
455
gbase>
CREATE
TABLE
t_m_random(age
INT
MASKED
WITH(FUNCTION = 'RANDOM(1,4)'));
Query OK, 0 rows affected (Elapsed: 00:00:00.09)
gbase> INSERT INTO t_m_random VALUES(29),(19);
Query OK, 2 rows affected (Elapsed: 00:00:00.07)
Records: 2
Duplicates: 0
Warnings: 0
gbase> SELECT * FROM t_m_random;
+------+
| age
|
+------+
|
4 |
|
3 |
+------+
2 rows in set (Elapsed: 00:00:00.03)
表4- 75 脱敏前数据
年龄(int)
29
19
表4- 76 应用随机脱敏后结果
年龄(int)
4
3
注意
NULL 值不做脱敏处理,显示仍为NULL。



sword GCIPasswordChange (
GCISvcCtx *svchp,
GCIError *errhp,
const GCIText *user_name,
ub4 usernm_len,
const GCIText *opasswd,
ub4 opasswd_len,
const GCIText *npasswd,
sb4 npasswd_len,
ub4 mode
);

修改用户名密码。

参数
输入
/输出


svchp
输入
指定打开连接的上下文,在此之前,上下文必须已经被关联到
了连接句柄
errhp
输入
错误信息句柄,该接口调用失败时,错误信息会存在该句柄上
user_name
输入
登录的用户名
usernm_len
输入
登录的用户名的长度
opasswd
输入
登录的旧口令
opasswd_len
输入
登录的旧口令的长度
npasswd
输入
登录的新口令
npasswd_len
输入
登录的新口令的长度
mode
输入
保留参数,目前不使用(仅用于和Oracle保持兼容)

如果执行成功,返回GCI_SUCCESS,否则返回GCI_ERROR。

注:此处修改的用户指的是非系统用户。



GBase 8s GCI 接口使用指南

南大通用数据技术股份有限公司 48