返回首页

gbase数据、南大通用产品文档:GBase8sInterval类型

更新日期:2024年09月11日

GBase 8s支持的Interval类型数据两种,Year-Month 和Day-Second。

在C语言中, 都用GCIInterval表示,使用子类型区分。

/* hours; range is 0 <= hours <=23 */
/* minutes; range is 0 <= minutes <= 59 */
/* seconds; range is 0 <= seconds <= 59 */





/* gregorian year; range is -4712 <= year <= 9999 */
/* month; range is 1 <= month < 12 */
/* day; range is 1 <= day <= 31 */
/* time */
ub2 GCITimeHH;
ub2 GCITimeMI;
ub2 GCITimeSS;
};
typedef struct GCITime GCITime;
struct GCIDate
{
sb2 GCIDateYYYY;
ub2 GCIDateMM;
ub2 GCIDateDD;
GCITime GCIDateTime;
sb4 fraction;
};

GBase 8s GCI 接口使用指南

南大通用数据技术股份有限公司 12
C
(64
)


SQLT类型

GCIInterval
Year-Month
GCI_DTYPE_INTERVAL_
YM
Interval year to month
SQLT_INTERVAL
_YM
GCIInterval
Day-Second
GCI_DTYPE_INTERVAL_
DS
Interval day to second /
interval day to fraction(5)
SQLT_INTERVAL
_DS

GCI接口在使用Interval类型做数据库访问操作时, 有如下规则:
GCIInterval Year-Month,包含年(范围 0~9999) ,月(范围 0~11)。
GCIInterval Day-Second,包含日期(范围 0~999999999) ,小时(范围 0~23),
分钟(范围0~59) ,秒(范围 0~59), 纳秒(范围 0~999999) 。
关于纳秒, GBase8s 中 interval 的 fraction 类型的位数范围是 1~5,最大只保
留 5 位有效数字,所以纳秒的低 1 位会被舍弃。例如, 对于 interval day to
fraction(5) 的数据,输入值为 9,存入数据库的值为 0。
关于 Interval 类型的内部转换。
在GCI中使用的Interval类型,不包含GBase 8s支持的Interval的其他类型,例如interval-
hour to second ,interval minute to fraction(4)等等。
如果数据库中的interval类型,与GCI使用的类型不一致,会导致数据丢失。为解决这一问
题, 在GCI内部进行了数据转换,规则如下:
1. 取得数据库中interval的类型信息,当Interval类型不一致时,进行转化。
2. 取得数据库中interval的largest qualifier。
3. 将GCI传入的数值,转换成largest qualifier的对应类型。
4. 将转换后的值, 传递到数据
库。 举例说明:
GCI输入值类型为 Interval day to fraction(3) ,值为‘1 2:3:4.005’。

数据库中类型为Interval hour to second。
由于interval类型不同, 需要转换。
数据库中interval类型的largest qualifier是hour ,所以需要将interval day to fraction(3)转
换为 interval hour to second。
1 day等于24 hours,所以转换后为‘26:3:4.005’。由于数据库中的interval类型不包含fraction
部分,所以‘005’会被舍弃,最终传递给数据库的值是‘26:3:4’。


GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
VIII

集群层SQL执行计划界面显示当前sql正在执行的情况.通过该功能可以查
看那些查询比较缓慢耗时的sql,用于分析问题.
【注】
默认情况下集群是不提供执行计划的功能的,如果用户需要在统一监
控上使用该功能需要修改集群配置文件参数_t_gcluster_monitor_optimize=1,
或者登录通过如下命令设置set global _t_gcluster_monitor_optimize=1.
用户在会话信息界面点击列表中相应一条会话信息的sql 执行计划列的查
看链接后,默认显示如下界面:
图3.3-57 集群层SQL 执行计划
界面属性元素说明如下:

集群名称:显示当前执行节点所属的集群信息.

节点IP:sql 执行节点的ip 地址.

SQL:当前正在执行的sql 语句.

执行计划:当前sql 的执行情况,以树形展示,默认是折叠的.

展开/折叠:用户展开或折叠执行计划树.

刷新:刷新当前页面,重新获取该sql 的执行计划信息.

统一数据平台监控与运维系统用户手册
南大通用数据技术股份有限公司
- 165 -

返回:退出当前页面,回到父界面.