返回首页

gbase数据、南大通用产品文档:GBase8sCDC_REC_DELETE记录

更新日期:2024年09月11日

提供由于删除操作而删除的行。
CDC_REC_DELETE 记录由以下字段组成:
・公共标题。
・记录特定标题。
・字段,列出行中每个可变长度列的大小(如果有)。
・每个固定长度列的v 列数据(如果有)。
・每个可变长度列的v 列数据(如果有)。
公共标头的标头大小字段中的值表示公共标头、记录特定标头和列出可变
长度列大小的字段的组合所占用的字节数。
公共标头中有效负载大小字段中的值表示固定长度列和可变长度列的列数
据字节数。

GBase 8s数据库安装手册
南大通用数据技术股份有限公司
24
特定于记录的标题:
特定于CDC_REC_DELETE 记录的报头位于公共报头之后。
表3-4.CDC_REC_DELETE 记录头
区分
长度
描述
Sequence number
8 bytes
The sequence number
associated with the DELETE
operation.
Transaction ID
4 bytes
The transaction ID.
User data
4 bytes
The table identifier passed
to the cdc_startcapture()
function and stored in the
syscdtabs table.
Flags
4 bytes
Reserved.
可变长度列大小字段:
如果要删除的行中有可变长度的列,则会显示每个列的4 字节字段,其中
包含列大小。列大小字段的顺序与CDC_REC_TABSCHEMA 记录中列的顺序相同。
固定长度列数据:
来自固定长度列的数据(如果有的话)按照相应列在CDC_REC_TABSCHEMA
记录中列出的顺序显示。
可变长度列数据:
来自可变长度列的数据(如果有)按照相应列在CDC_REC_TABSCHEMA 记录
中列出的顺序显示。

GBase 8s数据库安装手册
南大通用数据技术股份有限公司
25

对于GBase JDBC ,JDBC URL 的格式如下,方括号([, ])里的项是可选的:
jdbc:gbase://[host][,failoverhost...][:port]/[database][?propertyName1][=propertyValue1][&propertyNa
me2][=propertyValue2]...
如果没有指定主机名,
那么缺省值为
“localhost”

如果没有指定端口,
缺省为
“5258”


GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1003
这也是GBase 服务器的缺省端口号。
jdbc:gbase://[host:port],[host:port].../[database][?propertyName1][=propertyValue1][&propertyName2]
[=propertyValue2]...
如果没有指定数据库,这个连接将没有'当前'数据库。这种情况下,用户需要在连
接实例上调用setCatalog()方法,或者在SQL 中使用数据库名完整指定表名(即
'SELECT dbname.tablename.colname FROM dbname.tablename...')。不指定连接使用
的数据库,
只用在建立的连接需要使用多个库的工具时才有用,
如GUI 数据库管理
器。

示例:
Class.forName("com.gbase.jdbc.Driver");
java.sql.Connection con = DriverManager.getConnection("jdbc:gbase:///", "user", "password");
Statement st = con.createStatement();
ResultSet rs = st.executQuery(select test.testTbale.* from test.testTbale);
或者
Class.forName("com.gbase.jdbc.Driver");
java.sql.Connection con = DriverManager.getConnection("jdbc:gbase:///", "user", "password");
con.setCatalog("test");
Statement st = con.createStatement();
ResultSet rs = st.executQuery(select * from testTbale);
该示例查询了test 数据库中的testTbale 表的全部列数据。
GBase JDBC 支持故障切换。这允许驱动程序切换到“从”主机并继续执行只读的
查询。仅当连接处在autoCommit(true)状态时,才会发生故障切换,因为当一个事
务正在进行时,无法保障可靠的故障切换。大多数应用服务器和连接池会在事务/
连接结束后把autoCommit 置为true。
故障切换功能具有如下行为方式:

如果URL 属性
“autoReconnect”
为false:
故障切换只会发生在连接初始化时,
当驱动程序确定第一个主机再次可用时,将返回。

如果URL 属性“autoReconnect”为true: 当驱动程序确定连接已经失败(在进
行任何查询之前)时会发生故障切换,
当驱动程序确定第一台主机再次可用
(在
使用queriesBeforeRetryMaster 查询之后)时,将返回第一台主机。

在任何一种情况下,当你连接到经过故障切换的服务器时,会将连接设置为只
读状态,
因此,
对于会更改数据的查询来说,
将抛出异常
(这种查询GBase server
不会处理)。
属性配置定义了GBase JDBC 将会如何连接到一个GBase server 上。除非有其它说
明,否则可以为DataSource 对象和Connection 对象设置属性。
配置属性可以通过下列任意一种方式来设置:

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1004

在java.sql.DataSource 的GBase 实例上使用set*()方法:
com.gbase.jdbc.jdbc2.optional.GBaseDataSource
com.gbase.jdbc.jdbc2.optional.GBaseConnectionPoolDataSource


java.util.Properties
实例中,作为一个键/ 值对传给
DriverManager.getConnection() 或 Driver.connect()

在赋给java.sql.DriverManager.getConnection() 、java.sql.Driver.connect() 或
javax.sql.DataSource's setURL()方法的 GBase 实例的URL 中,作为一个JDBC
URL 变量。
示例:
Class.forName("com.gbase.jdbc.Driver");
GBaseDataSource ds = new GBaseDataSource();
ds.setUrl("jdbc:gbase://localhost:5258/test");
ds.setUser("user");
ds.setPassword("password");
java.sql.Connection con = ds.getConnection();
Statement st = con.createStatement();
ResultSet rs = st.executQuery(select c_custkey from customer);
说明
如果用户用来配置一个JDBC URL 的方法是基于XML 的,
那么用户需要使用XML 特征字
符& 来分开配置参数,“&”是XML 的保留字符。
使用GBase JDBC 驱动创建连接时可以设定的属性如下表格所示:
表 6-3 创建连接时可以设定的属性
名称
定义
默认值
连接/验证
user
连接时使用的用户

password
连接时使用的密码

socketFactory
驱动程序用于创建到服务器的socket 连接的类
名。
这个类必须执行com.gbase.jdbc.SocketFactory
接口且必须有公共无参数的构造函数。
com.gbase.jdbc.
Standard
SocketFactory
connectTimeout
socket 连接的超时(单位毫秒),如果是0 表示
没有超时。在JDK-1.4 或更新版本下才能使用。
默认为0。
0
(通过socket 连接
进行读写操作时这
两个参数才起作
用。如果不设置,
网络突然断开时,
读数据会处在等待

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1005
名称
定义
默认值
状态。)
socketTimeout
网络socket 操作的超时(默认为0,意味着无超
时)
0
useConfigs
在解析URL 或这接受用户指定的属性之前,
加载
使用逗号分割的配置属性。这些配置在参数配置
文档中有解释。
根据配置文件初始
化参数
propertiesTransform


com.gbase.jdbc.ConnectionPropertiesTransform 的
实施实例,在尝试连接前,驱动用来修改传递进
来的URL 属性。
parseURL 方法会建
立该对象修改参数
useCompression
在和服务器通信时是否使用
zlib 压缩
(true/false),默认为false。
false
IsCheckProperty
创建连接前是否验证url 参数的合法性,如果参
数名称不正确,将直接报错退出。
true
vcName
设置虚拟集群名称。如果集群支持虚拟集群,必
须通过该参数指定默认的虚拟集群名称

高可靠性和集群
resourceId
全局独一无二的资源号,用来标识数据源或数据
库连接可以连接到的资源机器。

failoverEnable
8a 集群使用,创建连接时,如果集群当前集群节
点不可用,是否自动路由到下一个可用的节点。
默认为false;
false
hostList
8a 集群使用,当failoverEnable=true 的情况下生
效。记录集群中节点的IP 以逗号分隔。
例:集群三个节点

(1) REGEXP_COUNT
功能描述:
匹配字符串在源串中出现的次数。
用途:
在source_char 中找到与pattern 指定的正则表达式相匹配的字符串,返回匹配字
符串在source_char 串中出现的次数。
语法:

REGEXP_COUNT ( source_char, pattern [, position [, match_param]])
其中,
1.
source_char:源字符串。可以是字符串或列名。当源字符串source_char 是列
名时,支持的类型为char 和varchar 型。
2.
pattern:正则表达式。支持的数据类型为char 和varchar 型。每个正则表达式
最多可包含512 个字节。
3.
position:开始匹配的位置,如果不指定默认为1,即从source_char 的第一个
字符开始匹配。同regexp_instr()的position。
4.
match_paramater:可通过设置该参数改变默认的匹配功能行为。默认情况下
“.”不匹配换行符,源字符串被看作一行。参数可选项如下:
i:大小写不敏感;
c:大小写敏感;
n:点号(.)不匹配换行符号;
m:多行模式;
举例:
SELECT REGEXP_COUNT('123123123123123', '(12)3', 1, 'i') REGEXP_COUNT

What’s new in GBase 8s V8.8


南大通用数据技术股份有限公司
2/60


FROM DUAL;

(2) VAR_POP
功能描述:
返回输入值的方差。
语法:

计算公式:
(SUM(expr2) - SUM(expr)2 / COUNT(expr)) / COUNT(expr)
参数说明:
参数为数值型或能通过隐式类型转换为数值型的表达式,
其他数据类型报错。
参数
为包含列的表达式且值包含null 时,null 所在的行不纳入计算。参数为null 函数返回值
为空。
使用说明:
1.
函数返回值类型为decimal;
2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。
举例:
下例计算1998 年每月销售的累积总体和样本变量(本例在SH 用户下运行)。
SELECT t.calendar_month_desc,
VAR_POP(SUM(s.amount_sold))
OVER (ORDER BY t.calendar_month_desc) "Var_Pop",
VAR_SAMP(SUM(s.amount_sold))
OVER (ORDER BY t.calendar_month_desc) "Var_Samp"
FROM sales s, times t
WHERE s.time_id = t.time_id AND t.calendar_year = 1998
GROUP BY t.calendar_month_desc;

(3) VAR_SAMP
功能描述:
返回一组数据的样本方差。
语法:

What’s new in GBase 8s V8.8


南大通用数据技术股份有限公司
3/60



计算公式:
(SUM(expr - (SUM(expr) / COUNT(expr)))2) / (COUNT(expr) - 1)
参数说明:
参数为数值型或能通过隐式类型转换为数值型的表达式,
其他数据类型报错。
参数
为包含列的表达式且值包含null 时,null 所在的行不纳入计算。参数为null 函数返回值
为空。
使用说明:
1.
函数返回值类型为decimal;
2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。
举例:
下例计算1998 年每月销售的累积总体和样本变量。
SELECT t.calendar_month_desc,
VAR_POP(SUM(s.amount_sold))
OVER (ORDER BY t.calendar_month_desc) "Var_Pop",
VAR_SAMP(SUM(s.amount_sold))
OVER (ORDER BY t.calendar_month_desc) "Var_Samp"
FROM sales s, times t
WHERE s.time_id = t.time_id AND t.calendar_year = 1998
GROUP BY t.calendar_month_desc;

(4) STDDEV_POP
功能描述:
返回输入值的总体标准差。
语法:

计算公式:
VAR_POP 函数值的算术平方根。
参数说明:

What’s new in GBase 8s V8.8


南大通用数据技术股份有限公司
4/60


参数为数值型或能通过隐式类型转换为数值型的表达式,
其他数据类型报错。
参数
为包含列的表达式且值包含null 时,null 所在的行不纳入计算。参数为null,函数返回
值为空。
使用说明:
1.
函数返回值类型为decimal;
2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。
举例:
下例返回部门的薪水值的总体标准偏差。
SELECT deptno,ename,sal,stddev_pop(sal) over (partition by deptno)
AS pop FROM emp;

(5) STDDEV_SAMP
功能描述:
累积样本标准差并返回样本方差的平方根。
语法:

计算公式:
VAR_SAMP 函数的算术平方根。
参数说明:
参数为数值型或能通过隐式类型转换为数值型的表达式,
其他数据类型报错。
参数
为包含列的表达式且值包含null 时,null 所在的行不纳入计算。参数为null,函数返回
值为空。
使用说明:
1.
函数返回值类型为decimal;
2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。
举例:
下例返回部门20、30、60 的薪水值的样本标准偏差。
SELECT deptno,ename,hiredate,sal,stddev_samp(sal) over(partition BY
deptno ORDER BY hiredate rows between unbounded preceding AND

What’s new in GBase 8s V8.8


南大通用数据技术股份有限公司
5/60


current row) AS cums FROM emp;

(6) STDDEV
功能描述:
计返回样本标准差表达式 ,
可以用它作为聚合或分析函数。
不同于STDDEV_SAMP
函数,当只有一行数据时,STDDEV 返回0,STDDEV_SAMP 返回null 值。
语法:

举例:
下例返回部门30 按雇佣日期排序的薪水值的累积标准偏离。
SELECT ename,hiredate,sal,stddev(sal) over(order by hiredate) a
FROM emp WHERE deptno=20;

(7) COVAR_POP
功能描述:
返回一组数对的总体协方差。
语法:

计算公式:
(SUM(expr1 * expr2) - SUM(expr2) * SUM(expr1) / n) / n
参数说明:
1.
计算公式中的n 指expr1,expr2 两个表达式值中同时不为null 的记录数;
2.
参数为数值型或能通过隐式类型转换为数值型的表达式,其他数据类型报错。
任何一个参数,
值包含null时,
null所在的行不纳入计算。
两个参数同时为null,
函数返回值为空。
使用说明:
1.
函数返回值类型为decimal;

What’s new in GBase 8s V8.8


南大通用数据技术股份有限公司
6/60


2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。
举例:
下例CUM_COVP 返回定价和最小产品价格的累积总体协方差。
SELECT prod_id, supplier_id,
COVAR_POP(PROD_LIST_PRICE, PROD_MIN_PRICE)
OVER (ORDER BY prod_id, supplier_id) AS CUM_COVP,
COVAR_SAMP(prod_list_price, PROD_MIN_PRICE)
OVER (ORDER BY prod_id, supplier_id) AS CUM_COVS
FROM products p
WHERE prod_category_id = 205
ORDER BY prod_id, supplier_id;

(8) COVAR_SAMP
功能描述:
返回一组数对的样本协方差。
语法:

计算公式:
(SUM(expr1 * expr2) - SUM(expr1) * SUM(expr2) / n) / (n-1)
参数说明:
1.
计算公式中的n 指expr1,expr2 两个表达式值中同时不为null 的记录数;
2.
参数为数值型或能通过隐式类型转换为数值型的表达式,其他数据类型报错。
任何一个参数,
值包含null时,
null所在的行不纳入计算。
两个参数同时为null,
函数返回值为空;
使用说明:
1.
函数返回值类型为decimal;
2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。
举例:
下例CUM_COVP 返回定价和最小产品价格的累积总体协方差
SELECT prod_id, supplier_id,
COVAR_POP(PROD_LIST_PRICE, PROD_MIN_PRICE)
OVER (ORDER BY prod_id, supplier_id) AS CUM_COVP,

What’s new in GBase 8s V8.8


南大通用数据技术股份有限公司
7/60


COVAR_SAMP(prod_list_price, PROD_MIN_PRICE)
OVER (ORDER BY prod_id, supplier_id) AS CUM_COVS
FROM products p
WHERE prod_category_id = 205
ORDER BY prod_id, supplier_id;

(9) CORR
功能描述:
返回一组数对的相关系数。
语法:

计算公式:
COVAR_POP(expr1, expr2) / (STDDEV_POP(expr1) * STDDEV_POP(expr2))
参数说明:
参数为数值型或能通过隐式类型转换为数值型的表达式,
其他数据类型报错。
任何
一个参数,值包含null 时,null 所在的行不纳入计算。两个参数同时为null,函数返回
值为空。
使用说明:
1.
函数返回值类型为decimal;
2.
与group by 子句连用,为聚集函数。与over 子句连用,为分析函数。