逻辑删除表(回收站模式删除表)
在现有的SQL 前缀 Hint
语法中,新增了一个选项字段,用于在执行DROP TABLE时指定是否启用回收站模式删除表的功能,字段名为recycleBinMode。
recycleBinMode字段说明如下:
默认值: true
说明:可选,此选项用于控制是否启用回收站模式进行删除。如果未指定该选项,则默认值为true,即启用回收站模式。
用法示例:
/* !HINT({"recycleBinMode":false, "asyncDdlMode": false, "taskId" : "9aa71832-a945-11ef-80aa-080027252449"}) */
recycleBinMode: 可选,设置为false,表示不启用回收站模式进行删除。
asyncDdlMode: 可选,表示是否异步执行DDL操作。
taskId: 可选,异步执行时为当前操作指定一个唯一的任务ID。
回收站查看列表
udal recycle_bin show table
命令可以查看回收站中的记录,支持多种查询条件,以便用户根据需要筛选回收对象。
语法:
udal recycle_bin show table [where
[id = ?]
[[and] schema_id = ?]
[[and] {delete_status = ? | delete_status != ?}]
[[and] schema_name like ?]
[[and] {obj_name like ? | obj_name = ?}]
[[and] gmt_create >= ?]
[[and] gmt_create <= ?]
]
[order by gmt_create [desc]]
[LIMIT [offset,] row_count]
参数说明:
where: 可选条件,用于筛选记录。
id = ?
: 根据主键ID筛选。schema_id = ?
: 根据schema ID筛选。delete_status = ?
或delete_status != ?
: 根据删除状态筛选。0:表示未删除。
1:表示删除中。
schema_name like ?
: 根据 schema 名称进行模糊查询。obj_name like ?
: 根据对象名称进行模糊查询。obj_name = ?
:根据对象名称进行查询。gmt_create >= ?
: 根据创建时间筛选(大于等于)。gmt_create <= ?
: 根据创建时间筛选(小于等于)。
order by gmt_create [desc]: 可选,按创建时间排序,
desc
表示降序。LIMIT [offset,] row_count: 可选,限制返回的记录数量,支持分页。
清理回收站中的表
udal recycle_bin purge table
命令用于清理回收站中的表记录。用户可以选择仅清理回收站记录,或同时清理物理库中的表。
语法:
-- 清理回收站中的表(不清理物理库表)
udal recycle_bin purge table where id = ?;
-- 清理回收站中的表(同时清理物理库表)
udal recycle_bin purge table where id = ? [with physical delete];
参数说明:
id = ?: 必填参数,指定要清理的回收站记录的主键ID。
with physical delete: 可选参数,指定改参数时清理回收站的记录时同时清理物理库中的表。
恢复回收站的表
udal recycle_bin restore
命令用于从回收站中恢复被删除的表。
语法:
udal recycle_bin restore table where id = ?;
参数说明:
id = ?: 必填参数,指定要恢复的回收站记录的主键 ID。该ID对应于回收站中被删除表的记录。
注意
在执行恢复操作之前,请确认要恢复的表及其ID,以确保恢复正确的对象。
查看回收站策略
使用 udal recycle_bin show config
命令可以查看集群的回收站配置策略。该命令返回结果集,包含一条回收站策略的记录。
语法:
udal recycle_bin show config;
返回结果的主要字段说明:
retain_number: 表示保留的时间数量。
默认值为15,表示最多保留15个时间单位。
retain_type: 表示保留的时间单位。
0 (默认值):表示按天计算。
1:表示按月计算。
delete_table: 表示是否允许删除底层物理表。
0(默认值):表示不删除。
1:表示删除。
delete_time: 表示删除操作的执行时间窗口。
0(默认值):表示执行时间窗口为(00:00:00, 23:59:59)。
1:表示执行时间窗口为(00:00:00, 06:00:00)。
2:表示执行时间窗口为(06:00:00, 12:00:00)。
3:表示执行时间窗口为(12:00:00, 18:00:00)。
4:表示执行时间窗口为(18:00:00, 23:59:59)。
设置回收站策略
使用 udal recycle_bin set config
命令可以设置集群的回收站配置策略。通过该命令,用户可以调整回收站的保留时间数量、保留时间单位、删除表的权限以及删除时间窗口等参数。
语法:
udal recycle_bin set config assignment_list
assignment:
col_name = value
assignment_list:
assignment [, assignment] ...
-- 其中col_name可以是retain_number、retain_type、delete_table、delete_time
参数说明:
retain_number: 表示保留的时间数量。
默认值为15,表示最多保留15个时间单位。
retain_type: 表示保留的时间单位。
0 (默认值):表示按天计算。
1:表示按月计算。
delete_table: 表示是否允许删除底层物理表。
0(默认值):表示不删除。
1:表示删除。
delete_time: 表示删除操作的执行时间窗口。
0(默认值):表示执行时间窗口为(00:00:00, 23:59:59)。
1:表示执行时间窗口为(00:00:00, 06:00:00)。
2:表示执行时间窗口为(06:00:00, 12:00:00)。
3:表示执行时间窗口为(12:00:00, 18:00:00)。
4:表示执行时间窗口为(18:00:00, 23:59:59)。