MCPcopy Create free account
hub / github.com/ByConity/ByConity / batchReadTaskLog

Function batchReadTaskLog

src/Statistics/AutoStatsTaskLogHelper.cpp:49–132  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47}
48
49std::vector<TaskInfoLog> batchReadTaskLog(ContextPtr context, DateTime64 min_event_time)
50{
51 std::vector<TaskInfoLog> result;
52
53 auto event_time_str = serializeToText(min_event_time);
54
55 auto event_date = convertToDate(min_event_time);
56 auto event_date_str = serializeToText(event_date);
57
58 String table_sql = "system.auto_stats_task_log";
59 auto select_sql = fmt::format(
60 FMT_STRING(
61 " select event_time, task_uuid, task_type, table_uuid, stats_row_count, udi, priority, retry, status, settings_json, columns"
62 " from ("
63 " select"
64 " *,"
65 " row_number() over ("
66 " partition by task_uuid"
67 " order by event_time desc"
68 " ) as _tmp__rn"
69 " from {}"
70 " where event_date >= toDate('{}') and event_time >= toDateTime64('{}', 3)"
71 " ) "
72 " where _tmp__rn=1 and status not in ('Success', 'Failed', 'Cancelled')"),
73 table_sql,
74 event_date_str,
75 event_time_str);
76
77 auto proc_block = [&result](Block & block) {
78 auto index_base = result.size();
79 result.resize(result.size() + block.rows());
80 for (size_t i = 0; i < block.columns(); ++i)
81 {
82 auto & column = block.safeGetByPosition(i).column;
83 for (size_t row = 0; row < block.rows(); ++row)
84 {
85 auto & task = result[index_base + row];
86 switch (i)
87 {
88 case 0:
89 task.event_time = column->get64(row);
90 break;
91 case 1:
92 task.task_uuid = getUUID(column, row);
93 break;
94 case 2:
95 task.task_type = static_cast<TaskType>(column->get64(row));
96 break;
97 case 3:
98 task.table_uuid = getUUID(column, row);
99 break;
100 case 4:
101 task.stats_row_count = column->get64(row);
102 break;
103 case 5:
104 task.udi_count = column->get64(row);
105 break;
106 case 6:

Callers 1

Calls 15

serializeToTextFunction · 0.85
convertToDateFunction · 0.85
getUUIDFunction · 0.85
getFloat64Function · 0.85
getVectorStringFunction · 0.85
createQueryContextFunction · 0.85
executeSubQueryFunction · 0.85
columnsMethod · 0.80
getFunction · 0.50
sizeMethod · 0.45
resizeMethod · 0.45
rowsMethod · 0.45

Tested by

no test coverage detected