一、功能
注意:说明:
注意:在 DDL 主执行节点上的推荐用法:SELECT * FROM information_schema.DDL_JOB_STAGE_INFO ORDER BY ddl_job_id\\G
注意:在非 DDL 主执行节点上的推荐用法:/*#all_nodes */ SELECT * FROM information_schema.DDL_JOB_STAGE_INFO ORDER BY ddl_job_id\\G
二、支持版本
适用于 TDSQL Boundless V21.2.0 及以上版本。
三、字段说明
| 字段名 | 类型 | 描述 |
| DDL_JOB_ID | int unsigned | 当前正在执行的 DDL job id。 |
| CURRENT_STAGE_TYPE | varchar(64) | NORMAL :代表正在执行 DDL 前台线程逻辑。RECOVERY :代表正在执行 DDL 后台线程逻辑(例如异步 DROP Table 等等)。 |
| CURRENT_STAGE_NAME | varchar(64) | 表示当前 DDL 逻辑正在哪个函数中执行。 |
| CURRENT_STAGE_SOURCE | varchar(64) | 表示当前 DDL 执行的函数文件名和代码行数。 |
| HISTORY_STAGE_INFOS | varchar(4096) | 表示当前 DDL 执行的历史阶段信息,一般由 START_DDL_JOB 开始,到 END_DDL_JOB 结束。 |
| CURRENT_SQL_QUERY | varchar(2048) | 表示当前 DDL 执行的 SQL。 |
| DDL_START_TIME | varchar(64) | 表示当前 DDL 开始执行的时间。 |
| STAGE_START_TIME | varchar(64) | 表示当前所在 stage 开始的时间。 |
| DDL_DURATION | varchar(64) | 表示当前 DDL 开始执行到现在时间节点的时间间隔。 |
| STAGE_DURATION | varchar(64) | 表示当前所在 stage 开始执行到现在时间节点的时间间隔。 |
| DDL_ERROR_CODE | int | 如果出现异常,会打印当前异常的异常码。反之,则为 NULL。 |
| DDL_ERROR_TEXT | varchar(2048) | 如果出现异常,会打印当前异常的文本信息。反之,则为 NULL。 |
四、示例
tdsql> SELECT * FROM information_schema.DDL_JOB_STAGE_INFO ORDER BY ddl_job_id\\G*************************** 1. row *************************** DDL_JOB_ID: 115 CURRENT_STAGE_TYPE: NORMAL CURRENT_STAGE_NAME: SetDDLJobStatusSuccCURRENT_STAGE_SOURCE: ddl_common.cc:725 HISTORY_STAGE_INFOS: [161ms][RPC 18ms][CREATE TABLE DDL][2025-09-01 15:09:37 ~ RUNNING] ├──> [OK ][25ms][RPC 1ms][START_DDL_JOB][start_ddl_job][ddl_worker.cc:994][2025-09-01 15:09:37 ~ 2025-09-01 15:09:37] ├──> [RUN][135ms][RPC 17ms][CREATE_TABLE_NO_LOCK][mysql_create_table_no_lock][sql_table.cc:9993][2025-09-01 15:09:37 ~ RUNNING] ├──> [RUN][135ms][RPC 17ms][CREATE_TABLE_IMPL][create_table_impl][sql_table.cc:9539][2025-09-01 15:09:37 ~ RUNNING] ├──> [OK ][112ms][RPC 9ms][CREATE_DATA_OBJECTS_FOR_TABLE][CreateDataObjectsForTable][data_object.cc:2150][2025-09-01 15:09:37 ~ 2025-09-01 15:09:37] ├──> [OK ][103ms][RPC 3ms][CREATE_DATA_OBJECT][CreateDataObjects][data_object.cc:1327][2025-09-01 15:09:37 ~ 2025-09-01 15:09:37] ├──> [OK ][0ms][RPC 0ms][CREATE_AUTO_INC_FOR_TABLE][CreateAutoIncForTable][auto_inc_index.cc:247][2025-09-01 15:09:37 ~ 2025-09-01 15:09:37] ├──> [OK ][5ms][RPC 4ms][CREATE_WRITE_FENCE_FOR_TABLE][CreateWriteFenceForTable][ddl_executer.cc:2480][2025-09-01 15:09:37 ~ 2025-09-01 15:09:37] ├──> [OK ][5ms][RPC 4ms][CREATE_WRITE_FENCE][CreateWriteFence][ddl_executer.cc:1269][2025-09-01 15:09:37 ~ 2025-09-01 15:09:37] ├──> [OK ][0ms][RPC 0ms][SET_DDL_JOB_STATUS_SUCCESS][SetDDLJobStatusSucc][ddl_common.cc:725][2025-09-01 15:09:37 ~ 2025-09-01 15:09:37] CURRENT_SQL_QUERY: CREATE TABLE sbtest85( id INTEGER NOT NULL, k INTEGER DEFAULT '0' NOT NULL, c CHAR(120) DEFAULT '' NOT NULL, pad CHAR(60) DEFAULT '' NOT NULL, PRIMARY KEY (id)) /*! ENGINE = rocksdb */ DDL_START_TIME: 2025-09-01 15:09:37 STAGE_START_TIME: 2025-09-01 15:09:37 DDL_DURATION: 161ms STAGE_DURATION: 3ms DDL_ERROR_CODE: NULL DDL_ERROR_TEXT: NULL