DO_TM_TASK

运行 Tuple Mover (TM) 操作并提交当前事务。您可以将此操作限定于特定表或投影。开始使用此函数时,TM 会使用 GENERAL 资源池而不是 TM 资源池。

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

DO_TM_TASK('task'[, '[[database.]schema.]{ table | projection}]' )

参数

task
指定以下 Tuple Mover 操作之一:
  • mergeout:合并 ROS 容器并清除删除的记录。有关详细信息,请参阅合并

  • reshardmergeout:重新调整存储容器,使其符合通过 RESHARD_DATABASE 调用创建的分片定义。指定表或投影以及分区值范围,限制 reshardmergeout 操作的范围。

  • analyze_row_count:收集一组最少的统计信息并聚合指定投影的行计数,然后将其保存在数据库编录中。收集指定投影中的行数。如果指定一个表名,DO_TM_TASK 会返回该表所有投影的行计数。有关详细信息,请参阅分析行计数

  • update_storage_catalog (仅推荐用于 Eon 模式):使用捆绑表数据的元数据更新编录。有关详细信息,请参阅将捆绑包元数据写入编录

[database.]schema

数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。

table | projection
task 应用到指定表或投影。如果指定了投影,但未查找到该投影,则 DO_TM_TASK 会查找具有该名称的表,如果能够找到,则会将任务应用至该表及与该表相关联的所有投影。

如果未指定表或投影,则会将该任务应用于所有数据库表及其投影。

特权

  • 架构:USAGE

  • 表:INSERT、UPDATE 或 DELETE 之一

示例

以下示例对表中的所有投影执行合并:

=> SELECT DO_TM_TASK('mergeout', 't1');

您可以对表的一系列分区执行重新分片合并任务:

=> SELECT DO_TM_TASK('reshardmergeout', 'store_orders', '2001', '2005');