返回首页

gbase数据、南大通用产品文档:GBase8a多租户能力

更新日期:2024年09月11日

GBase 8a MPP Cluster 可以通过虚拟集群技术实现租户间的物理或者逻辑
隔离。
在虚拟集群内,通过资源管理和资源组灵活配置不同应用和用户的资源配
额和查询优先级,同时在完善的权限授权管理机制下,使得不同的应用以及不
同类型的任务可以同时运行在一个集群中,
但它们相互之间又得到必要的隔离,
就好像运行在透明的“沙箱”一样。

ifx_lo_spec_free() 函数释放 LO-specification 结构的资源。

语法
mint ifx_lo_spec_free(LO_spec)
ifx_lo_create_spec_t *LO_spec;
LO_spec

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 788 -

指向要释放的 LO-specification 结构的指针。

用法
ifx_lo_spec_free() 函数通过调用 ifx_lo_spec_free() 来释放分配了的 LO-specification
结构。LO_spec 指针指向要被释放的 ifx_lo_create_spec_t 结构。

GBase 8s ESQL/C 不执行 LO-specification 结构的内存管理。你必须为每一您以
ifx_lo_def_create_spec() 函数的调用来分配的 LO-specification 结构调用 ifx_lo_spec_free()。


重要: 请不要使用 ifx_lo_spec_free() 来释放您通过调用 ifx_lo_stat_cspec() 来访问
的 ifx_lo_create_spec_t 结构。当您调用 ifx_lo_stat_free() 来释放 ifx_lo_stat_t 结构时,
它还自动地释放 ifx_lo_create_spec_t 结构。请仅使用 ifx_lo_spec_free() 来释放您通过调
用 ifx_lo_def_create_spec() 创建了的 ifx_lo_create_spec_t 结构。

返回代码
0
函数成功。
<0
函数不成功,且返回值指示失败的原因。

语法
LEAD/LAG(expr [,offset [,DEFAULT]] ) OVER([PARTITION BY col_name1,col_name2,…] ORD
ER BY col_name1 [ASC/DESC], col_name2 [ASC/DESC],…)
功能描述
支持OLAP 函数LEAD() OVER()、LAG() OVER(),这两个函数是偏移量函数,用来
查出同一字段下N 个值或上N 个值,并作为新的列存在表中,LEAD 向下偏移,
LAG 向上偏移(N 为非负整数)。
使用说明

expr:此参数是求偏移量的表达式。

offset:此参数是偏移量,可以省略,默认值是1。

default:此参数是缺省值,可以省略,默认值是NULL。

这两个函数OVER 里面的规则同RANK 类OLAP 函数一样。

该函数可以返回任何支持的数据类型。
使用约束和限制
对参数的限制:
参数二和参数三必须是常量或常量表达式。
数据类型转换
第一个参数与第三个参数的数据类型不同时,
第三个参数会根据第一个参数的数据
类型做隐式转换。
第一个参数
第三个参数
转换后
VARCHAR(2)
VARCHAR(20)
VARCHAR(20)
INT
DECIMAL
INT(四舍五入)
DECIMAL
INT
DECIMAL
DATE
DATETIME/TIMESTAMP
DATE
DATETIME
DATE
DATETIME
INT
INT(非数值行)
0
INT
DATE
INT OR BIGINT
INT
DATE
VARCHAR
DATE
VARCHAR
符合日期合适的INT 数值转换成对应的日
期,不符合的转成NULL 并报warnings
DATE
INT
符合日期合适的INT 数值转换成对应的日
期,不符合的转成NULL 并报warnings
INT
DATE
0

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 588
示例
示例1:
LEAD(result, 1, NULL) OVER(PARTITION BY result ORDER BY area DESC)
gbase> DROP TABLE IF EXISTS t_olap;
Query OK, 0 rows affected

gbase> CREATE TABLE t_olap(result int, area varchar(200));
Query OK, 0 rows affected

gbase> INSERT INTO t_olap VALUES(550,'天津'),(600,'湖北'),(670,'湖北');
Query OK, 3 rows affected
Records: 3 Duplicates: 0 Warnings: 0

gbase> INSERT INTO t_olap VALUES(448,'天津'),(490,'北京'),(598,'天津'),('700','湖北');
Query OK, 4 rows affected
Records: 4 Duplicates: 0 Warnings: 0

gbase> INSERT INTO t_olap VALUES(528,'天津'),(446,'北京'),(568,'天津'),('682','湖北');
Query OK, 4 rows affected
Records: 4 Duplicates: 0 Warnings: 0

gbase> SELECT * FROM t_olap GROUP BY area,result ORDER BY area,result;
+--------+--------+
| result | area |
+--------+--------+
| 446 | 北京 |
| 490 | 北京 |
| 448 | 天津 |
| 528 | 天津 |
| 550 | 天津 |
| 568 | 天津 |
| 598 | 天津 |
| 600 | 湖北 |
| 670 | 湖北 |
| 682 | 湖北 |
| 700 | 湖北 |
+--------+--------+
11 rows in set

gbase> SELECT *,LEAD(result, 1, NULL) OVER(PARTITION BY result ORDER BY area
DESC) AS LEAD FROM t_olap;
+--------+--------+------+
| result | area | LEAD |
+--------+--------+------+

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 589
| 446 | 北京 | NULL |
| 448 | 天津 | NULL |
| 490 | 北京 | NULL |
| 528 | 天津 | NULL |
| 550 | 天津 | NULL |
| 568 | 天津 | NULL |
| 598 | 天津 | NULL |
| 600 | 湖北 | NULL |
| 670 | 湖北 | NULL |
| 682 | 湖北 | NULL |
| 700 | 湖北 | NULL |
+--------+--------+------+
11 rows in set