Skip to content

Commit 4c91b29

Browse files
authored
fix: exclude top and running queries itself (#1487)
1 parent df74377 commit 4c91b29

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

src/store/reducers/executeTopQueries/executeTopQueries.ts

+13-10
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import {getFiltersConditions} from './utils';
1010

1111
const initialState: TopQueriesFilters = {};
1212

13+
const QUERY_TECHNICAL_MARK = '/*UI-QUERY-EXCLUDE*/';
14+
1315
const slice = createSlice({
1416
name: 'executeTopQueries',
1517
initialState,
@@ -26,7 +28,7 @@ export default slice.reducer;
2628
const getQueryText = (path: string, filters?: TopQueriesFilters) => {
2729
const filterConditions = getFiltersConditions(path, filters);
2830
return `
29-
SELECT
31+
SELECT ${QUERY_TECHNICAL_MARK}
3032
CPUTime as CPUTimeUs,
3133
QueryText,
3234
IntervalEnd,
@@ -36,7 +38,7 @@ SELECT
3638
UserSID,
3739
Duration
3840
FROM \`${path}/.sys/top_queries_by_cpu_time_one_hour\`
39-
WHERE ${filterConditions || 'true'}
41+
WHERE ${filterConditions || 'true'} AND QueryText NOT LIKE '%${QUERY_TECHNICAL_MARK}%'
4042
ORDER BY CPUTimeUs DESC
4143
`;
4244
};
@@ -98,7 +100,15 @@ export const topQueriesApi = api.injectEndpoints({
98100
? `Query ILIKE '%${filters.text}%' OR UserSID ILIKE '%${filters.text}%'`
99101
: '';
100102

101-
const queryText = `SELECT UserSID, QueryStartAt, Query as QueryText, ApplicationName from \`.sys/query_sessions\` WHERE ${filterConditions || 'true'} ORDER BY SessionStartAt limit 100`;
103+
const queryText = `SELECT ${QUERY_TECHNICAL_MARK}
104+
UserSID, QueryStartAt, Query as QueryText, ApplicationName
105+
FROM
106+
\`.sys/query_sessions\`
107+
WHERE
108+
${filterConditions || 'true'} AND Query NOT LIKE '%${QUERY_TECHNICAL_MARK}%'
109+
ORDER BY
110+
SessionStartAt
111+
LIMIT 100`;
102112

103113
const response = await window.api.sendQuery(
104114
{
@@ -115,13 +125,6 @@ export const topQueriesApi = api.injectEndpoints({
115125

116126
const data = parseQueryAPIExecuteResponse(response);
117127

118-
/* filter running queries query itself */
119-
if (data?.resultSets?.[0]?.result) {
120-
data.resultSets[0].result = data.resultSets[0].result.filter(
121-
(item) => item.QueryText !== queryText,
122-
);
123-
}
124-
125128
return {data};
126129
} catch (error) {
127130
return {error};

0 commit comments

Comments
 (0)