@Override
    protected void getInfo(List<List<Comparable>> infos) {
        String progress = FeConstants.NULL_STRING;
        if (jobState == JobState.RUNNING && getBatchTask() != null) {
            progress = getBatchTask().getFinishedTaskNum() + "/" + getBatchTask().getTaskNum();
        }

        for (IndexSchemaInfo schemaInfo : schemaInfos) {
            List<Comparable> info = Lists.newArrayList();
            info.add(jobId);
            info.add(tableName);
            info.add(TimeUtils.longToTimeString(createTimeMs));
            info.add(TimeUtils.longToTimeString(finishedTimeMs));
            info.add(schemaInfo.indexName);
            info.add(schemaInfo.indexId);
            info.add(schemaInfo.indexId);
            info.add(String.format("%d:0", schemaInfo.schemaInfo.getVersion())); // schema version and schema hash
            info.add(getWatershedTxnId());
            info.add(jobState.name());
            info.add(errMsg);
            info.add(progress);
            info.add(timeoutMs / 1000);
            Warehouse warehouse = GlobalStateMgr.getCurrentState().getWarehouseMgr().getWarehouseAllowNull(warehouseId);
            if (warehouse == null) {
                info.add("null");
            } else {
                info.add(warehouse.getName());
            }
            infos.add(info);
        }
    }
@Test
    public void testGetInfo() throws Exception {
        LakeTable table = createTable(connectContext, "CREATE TABLE t1(c0 INT) DUPLICATE KEY(c0) DISTRIBUTED BY HASH(c0) " +
                "BUCKETS 2 PROPERTIES('fast_schema_evolution'='true')");
        AlterJobV2 job = mustAlterTable(table, "ALTER TABLE t1 ADD COLUMN c1 BIGINT");
        List<List<Comparable>> infoList = new ArrayList<>();
        job.getInfo(infoList);
        Assert.assertEquals(1, infoList.size());
        List<Comparable> info = infoList.get(0);
        Assert.assertEquals(14, info.size());
        Assert.assertEquals(job.getJobId(), info.get(0));
        Assert.assertEquals(table.getName(), info.get(1));
        Assert.assertEquals(TimeUtils.longToTimeString(job.createTimeMs), info.get(2));
        Assert.assertEquals(TimeUtils.longToTimeString(job.finishedTimeMs), info.get(3));
        Assert.assertEquals(table.getIndexNameById(table.getBaseIndexId()), info.get(4));
        Assert.assertEquals(table.getBaseIndexId(), info.get(5));
        Assert.assertEquals(table.getBaseIndexId(), info.get(6));
        Assert.assertEquals(String.format("%d:0", table.getIndexIdToMeta().get(table.getBaseIndexId()).getSchemaVersion()),
                info.get(7));
        Assert.assertEquals(job.getTransactionId().get(), info.get(8));
        Assert.assertEquals(job.getJobState().name(), info.get(9));
        Assert.assertEquals(job.errMsg, info.get(10));
        Assert.assertEquals(job.getTimeoutMs() / 1000, info.get(12));
        Assert.assertEquals("default_warehouse", info.get(13));
    }