返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

使用GBase C API 执行存储过程
/*执行存储过程*/
void demo_3(void)
{
GBASE* gbase = NULL;
char* sql_drop = "drop table if exists g_demo3";
char* sql = "create table g_demo3(a varchar(10), b int)";
char* p_drop = "DROP PROCEDURE IF EXISTS demo_p";
char* p = "create procedure demo_p(in a varchar(10), \








in b int) \








begin \









insert into g_demo3(a, b)
values (a, b); \








end;";
char* call_p = "CALL demo_p('call_p', 1)";

if(!(gbase = gbase_init(0)))
{
fprintf(stderr, "不能初始化GBASE 结构体!\n");
exit(1);
}

if(!gbase_real_connect(gbase, host, user, passwd, db, port,
NULL, 0))
{
fprintf(stderr, "\n%s\n", gbase_error(gbase));
exit(1);
}

/*在数据库中创建表*/
if(gbase_query(gbase, sql_drop))
{
fprintf(stderr, "%s", gbase_error(gbase));
exit(1);
}



GBase 8a 程序员手册C API 篇
南大通用数据技术股份有限公司

- 81 -
if(gbase_query(gbase, sql))
{
fprintf(stderr, "\n%s\n", gbase_error(gbase));
exit(1);
}

if(gbase_query(gbase, p_drop))
{
fprintf(stderr, "\n%s\n", gbase_error(gbase));
exit(1);
}

if(gbase_query(gbase, p))
{
fprintf(stderr, "\n%s\n", gbase_error(gbase));
exit(1);
}

if(gbase_query(gbase, call_p))
{
fprintf(stderr, "\n%s\n", gbase_error(gbase));
exit(1);
}

printf("PROCEDURE 执行结果\n");
print_table(gbase, "g_demo3");

gbase_close(gbase);
}

功能说明
执行rebalance instance 命令,将数据重分布到新建的distribution 上。
注意

本次数据重分布将进行实际数据的重分布;

重分布的所需时间需要根据数据量,系统CPU,磁盘,网络等综合情况进
行评估。
操作步骤
步骤1:执行rebalance instance 命令,将数据重分布到新建的distribution
(Distribution=4)上。
$ gccli
GBase client 9.5.3.17.117651. Copyright (c) 2004-2020, GBase.
All Rights
Reserved.
gbase> use vc vc2;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)
gbase> rebalance instance;
Query OK, 3 rows affected (Elapsed: 00:00:01.20)
gbase> select * from gclusterdb.rebalancing_status;
+------------+---------+------------+----------+----------------------------+-------------------
---------+-----------+------------+----------+---------------+-----------------+
| index_name | db_name | table_name | tmptable | start_time
| end_time
| status
| percentage | priority | host

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
344
| distribution_id |
+------------+---------+------------+----------+----------------------------+-------------------
---------+-----------+------------+----------+---------------+-----------------+
| demo.t
| demo
| t
|
| 2020-07-29 18:31:39.332
000 | 2020-07-29 18:31:41.392000 | COMPLETED |
100 |
5
| 172.168.83.14 |
4 |
| demo.ttt
| demo
| ttt
|
| 2020-07-29 18:31:39.33600
0 | 2020-07-29 18:31:41.389000 | COMPLETED |
100 |
5 |

管理 API)
随同 admin() 或 task() 函数,
使用 rename space 参数来重命名 dbspace、
blobspace、
sbspace
或 extspace。
语法

元素
描述
关键考

new_name 空间的新名称。

space_name
您想要重重名的 dbspace、blobspace、sbspace 或 extspace 的
名称。


用法
这个函数等同于 onspaces -ren 命令。
示例
下列示例将名为 dbsp1 的 dbspace 重命名为 dbsp2:
EXECUTE FUNCTION task("rename space","dbsp1","dbsp2");