Skip to content

Commit 78c63e4

Browse files
feat(Query): remove query modes setting (#600)
1 parent 230410a commit 78c63e4

File tree

17 files changed

+28
-164
lines changed

17 files changed

+28
-164
lines changed

src/containers/Tenant/Query/QueriesHistory/QueriesHistory.tsx

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {setQueryTab} from '../../../../store/reducers/tenant/tenant';
99
import {selectQueriesHistory} from '../../../../store/reducers/executeQuery';
1010
import {TENANT_QUERY_TABS_ID} from '../../../../store/reducers/tenant/constants';
1111
import {useQueryModes, useTypedSelector} from '../../../../utils/hooks';
12-
import {QUERY_MODES, QUERY_MODES_TITLES, QUERY_SYNTAX} from '../../../../utils/query';
12+
import {QUERY_MODES, QUERY_SYNTAX} from '../../../../utils/query';
1313
import {MAX_QUERY_HEIGHT, QUERY_TABLE_SETTINGS} from '../../utils/constants';
1414

1515
import i18n from '../i18n';
@@ -31,22 +31,15 @@ function QueriesHistory({changeUserInput}: QueriesHistoryProps) {
3131
const reversedHistory = [...queriesHistory].reverse();
3232

3333
const onQueryClick = (query: QueryInHistory) => {
34-
let isQueryModeSet = true;
35-
3634
if (query.syntax === QUERY_SYNTAX.pg && queryMode !== QUERY_MODES.pg) {
37-
isQueryModeSet = setQueryMode(
38-
QUERY_MODES.pg,
39-
i18n('history.cannot-set-mode', {mode: QUERY_MODES_TITLES[QUERY_MODES.pg]}),
40-
);
35+
setQueryMode(QUERY_MODES.pg);
4136
} else if (query.syntax !== QUERY_SYNTAX.pg && queryMode === QUERY_MODES.pg) {
4237
// Set query mode for queries with yql syntax
43-
isQueryModeSet = setQueryMode(QUERY_MODES.script);
38+
setQueryMode(QUERY_MODES.script);
4439
}
4540

46-
if (isQueryModeSet) {
47-
changeUserInput({input: query.queryText});
48-
dispatch(setQueryTab(TENANT_QUERY_TABS_ID.newQuery));
49-
}
41+
changeUserInput({input: query.queryText});
42+
dispatch(setQueryTab(TENANT_QUERY_TABS_ID.newQuery));
5043
};
5144

5245
const columns: Column<QueryInHistory>[] = [

src/containers/Tenant/Query/QueryEditor/QueryEditor.js

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,11 @@ import {
2323
DEFAULT_IS_QUERY_RESULT_COLLAPSED,
2424
DEFAULT_SIZE_RESULT_PANE_KEY,
2525
SAVED_QUERIES_KEY,
26-
ENABLE_ADDITIONAL_QUERY_MODES,
2726
LAST_USED_QUERY_ACTION_KEY,
2827
QUERY_USE_MULTI_SCHEMA_KEY,
2928
} from '../../../../utils/constants';
3029
import {useSetting, useQueryModes} from '../../../../utils/hooks';
31-
import {QUERY_ACTIONS, QUERY_MODES, isNewQueryMode} from '../../../../utils/query';
30+
import {QUERY_ACTIONS} from '../../../../utils/query';
3231

3332
import {
3433
PaneVisibilityActionTypes,
@@ -85,16 +84,9 @@ function QueryEditor(props) {
8584

8685
const [isResultLoaded, setIsResultLoaded] = useState(false);
8786
const [queryMode, setQueryMode] = useQueryModes();
88-
const [enableAdditionalQueryModes] = useSetting(ENABLE_ADDITIONAL_QUERY_MODES);
8987
const [useMultiSchema] = useSetting(QUERY_USE_MULTI_SCHEMA_KEY);
9088
const [lastUsedQueryAction, setLastUsedQueryAction] = useSetting(LAST_USED_QUERY_ACTION_KEY);
9189

92-
useEffect(() => {
93-
if (isNewQueryMode(queryMode) && !enableAdditionalQueryModes) {
94-
setQueryMode(QUERY_MODES.script);
95-
}
96-
}, [enableAdditionalQueryModes, queryMode, setQueryMode]);
97-
9890
useEffect(() => {
9991
if (savedPath !== path) {
10092
if (savedPath) {
@@ -470,7 +462,6 @@ function QueryEditor(props) {
470462
disabled={!executeQuery.input}
471463
onUpdateQueryMode={setQueryMode}
472464
queryMode={queryMode}
473-
enableAdditionalQueryModes={enableAdditionalQueryModes}
474465
highlitedAction={lastUsedQueryAction}
475466
/>
476467
);

src/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.scss

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
$b: &;
2828

2929
&__button {
30-
width: 189px;
30+
width: 241px;
3131
margin-left: 2px;
3232
}
3333

@@ -36,24 +36,11 @@
3636
justify-content: space-between;
3737
align-items: center;
3838

39-
width: 163px;
39+
width: 215px;
4040
}
4141

4242
&__popup {
43-
width: 189px;
44-
45-
&_extended {
46-
width: 241px;
47-
}
48-
}
49-
50-
&_extended {
51-
#{$b}__button {
52-
width: 241px;
53-
}
54-
#{$b}__button-content {
55-
width: 215px;
56-
}
43+
width: 241px;
5744
}
5845
}
5946

src/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.tsx

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,6 @@ const queryModeSelectorPopupQa = 'query-mode-selector-popup';
1919

2020
const b = block('ydb-query-editor-controls');
2121

22-
const OldQueryModeSelectorOptions = {
23-
[QUERY_MODES.script]: {
24-
title: QUERY_MODES_TITLES[QUERY_MODES.script],
25-
description: i18n('method-description.script'),
26-
},
27-
[QUERY_MODES.scan]: {
28-
title: QUERY_MODES_TITLES[QUERY_MODES.scan],
29-
description: i18n('method-description.scan'),
30-
},
31-
} as const;
32-
3322
const QueryModeSelectorOptions = {
3423
[QUERY_MODES.script]: {
3524
title: QUERY_MODES_TITLES[QUERY_MODES.script],
@@ -63,7 +52,6 @@ interface QueryEditorControlsProps {
6352
disabled: boolean;
6453
onUpdateQueryMode: (mode: QueryMode) => void;
6554
queryMode: QueryMode;
66-
enableAdditionalQueryModes: boolean;
6755
highlitedAction: QueryAction;
6856
}
6957

@@ -78,14 +66,9 @@ export const QueryEditorControls = ({
7866
onUpdateQueryMode,
7967
queryMode,
8068
highlitedAction,
81-
enableAdditionalQueryModes,
8269
}: QueryEditorControlsProps) => {
8370
const querySelectorMenuItems = useMemo(() => {
84-
const options = enableAdditionalQueryModes
85-
? QueryModeSelectorOptions
86-
: OldQueryModeSelectorOptions;
87-
88-
return Object.entries(options).map(([mode, {title, description}]) => {
71+
return Object.entries(QueryModeSelectorOptions).map(([mode, {title, description}]) => {
8972
return {
9073
text: (
9174
<LabelWithPopover
@@ -100,7 +83,7 @@ export const QueryEditorControls = ({
10083
},
10184
};
10285
});
103-
}, [onUpdateQueryMode, enableAdditionalQueryModes]);
86+
}, [onUpdateQueryMode]);
10487

10588
const runView: ButtonView | undefined = highlitedAction === 'execute' ? 'action' : undefined;
10689
const explainView: ButtonView | undefined =
@@ -132,17 +115,11 @@ export const QueryEditorControls = ({
132115
>
133116
Explain
134117
</Button>
135-
<div
136-
className={b('mode-selector', {
137-
extended: enableAdditionalQueryModes,
138-
})}
139-
>
118+
<div className={b('mode-selector')}>
140119
<DropdownMenu
141120
items={querySelectorMenuItems}
142121
popupProps={{
143-
className: b('mode-selector__popup', {
144-
extended: enableAdditionalQueryModes,
145-
}),
122+
className: b('mode-selector__popup'),
146123
qa: queryModeSelectorPopupQa,
147124
}}
148125
switcher={

src/containers/Tenant/Query/i18n/en.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
"history.empty": "History is empty",
99
"saved.empty": "There are no saved queries",
1010

11-
"history.cannot-set-mode": "This query is available only with '{{mode}}' query mode. You need to turn in additional query modes in settings to enable it",
12-
1311
"delete-dialog.header": "Delete query",
1412
"delete-dialog.question": "Are you sure you want to delete query",
1513
"delete-dialog.delete": "Delete",

src/containers/Tenant/Query/i18n/ru.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
"history.empty": "История пуста",
99
"saved.empty": "Нет сохраненных запросов",
1010

11-
"history.cannot-set-mode": "Этот запрос доступен только в режиме '{{mode}}'. Вам необходимо включить дополнительные режимы выполнения запросов в настройках",
12-
1311
"delete-dialog.header": "Удалить запрос",
1412
"delete-dialog.question": "Вы уверены что хотите удалить запрос",
1513
"delete-dialog.delete": "Удалить",

src/containers/Tenant/utils/schemaActions.ts

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import copy from 'copy-to-clipboard';
44
import type {NavigationTreeNodeType, NavigationTreeProps} from 'ydb-ui-components';
55

66
import type {QueryMode} from '../../../types/store/query';
7-
import type {SetQueryModeIfAvailable} from '../../../utils/hooks';
87
import {changeUserInput} from '../../../store/reducers/executeQuery';
98
import {setQueryTab, setTenantPage} from '../../../store/reducers/tenant/tenant';
109
import {TENANT_QUERY_TABS_ID, TENANT_PAGES_IDS} from '../../../store/reducers/tenant/constants';
@@ -25,7 +24,7 @@ import {
2524
} from './queryTemplates';
2625

2726
interface ActionsAdditionalEffects {
28-
setQueryMode: SetQueryModeIfAvailable;
27+
setQueryMode: (mode: QueryMode) => void;
2928
setActivePath: (path: string) => void;
3029
}
3130

@@ -36,18 +35,16 @@ const bindActions = (
3635
) => {
3736
const {setActivePath, setQueryMode} = additionalEffects;
3837

39-
const inputQuery =
40-
(tmpl: (path: string) => string, mode?: QueryMode, setQueryModeErrorMessage?: string) =>
41-
() => {
42-
const isNewQueryModeSet = mode && setQueryMode(mode, setQueryModeErrorMessage);
38+
const inputQuery = (tmpl: (path: string) => string, mode?: QueryMode) => () => {
39+
if (mode) {
40+
setQueryMode(mode);
41+
}
4342

44-
if (!mode || isNewQueryModeSet) {
45-
dispatch(changeUserInput({input: tmpl(path)}));
46-
dispatch(setTenantPage(TENANT_PAGES_IDS.query));
47-
dispatch(setQueryTab(TENANT_QUERY_TABS_ID.newQuery));
48-
setActivePath(path);
49-
}
50-
};
43+
dispatch(changeUserInput({input: tmpl(path)}));
44+
dispatch(setTenantPage(TENANT_PAGES_IDS.query));
45+
dispatch(setQueryTab(TENANT_QUERY_TABS_ID.newQuery));
46+
setActivePath(path);
47+
};
5148

5249
return {
5350
createTable: inputQuery(createTableTemplate, 'script'),
@@ -56,11 +53,7 @@ const bindActions = (
5653
upsertQuery: inputQuery(upsertQueryTemplate),
5754
createExternalTable: inputQuery(createExternalTableTemplate, 'script'),
5855
dropExternalTable: inputQuery(dropExternalTableTemplate, 'script'),
59-
selectQueryFromExternalTable: inputQuery(
60-
selectQueryTemplate,
61-
'query',
62-
i18n('actions.externalTableSelectUnavailable'),
63-
),
56+
selectQueryFromExternalTable: inputQuery(selectQueryTemplate, 'query'),
6457
createTopic: inputQuery(createTopicTemplate, 'script'),
6558
alterTopic: inputQuery(alterTopicTemplate, 'script'),
6659
dropTopic: inputQuery(dropTopicTemplate, 'script'),

src/containers/UserSettings/i18n/en.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@
2222
"settings.useBackendParamsForTables.title": "Use virtual table for cluster Nodes tab",
2323
"settings.useBackendParamsForTables.popover": "Use table with data load on scroll. It will increase performance, but could work unstable",
2424

25-
"settings.enableAdditionalQueryModes.title": "Enable additional query modes",
26-
"settings.enableAdditionalQueryModes.popover": "Adds 'Data', 'YQL - QueryService' and 'PostgreSQL' modes. May not work on some versions",
27-
2825
"settings.queryUseMultiSchema.title": "Allow queries with multiple result sets",
2926
"settings.queryUseMultiSchema.popover": "Use 'multi' schema for queries that enables queries with multiple result sets. Returns nothing on versions 23-3 and older"
3027
}

src/containers/UserSettings/i18n/ru.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@
2222
"settings.useBackendParamsForTables.title": "Использовать виртуализированную таблицу для вкладки Nodes кластера",
2323
"settings.useBackendParamsForTables.popover": "Использовать таблицу с загрузкой данных по скроллу. Это улучшит производительность, но может работать нестабильно",
2424

25-
"settings.enableAdditionalQueryModes.title": "Включить дополнительные режимы выполнения запросов",
26-
"settings.enableAdditionalQueryModes.popover": "Добавляет режимы 'Data', 'YQL - QueryService' и 'PostgreSQL'. Может работать некорректно на некоторых версиях",
27-
2825
"settings.queryUseMultiSchema.title": "Разрешить запросы с несколькими результатами",
2926
"settings.queryUseMultiSchema.popover": "Использовать для запросов схему 'multi', которая позволяет выполнять запросы с несколькими результатами. На версиях 23-3 и старше результат не возвращается вообще"
3027
}

src/containers/UserSettings/settings.ts

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import favoriteFilledIcon from '../../assets/icons/star.svg';
44
import flaskIcon from '../../assets/icons/flask.svg';
55

66
import {
7-
ENABLE_ADDITIONAL_QUERY_MODES,
87
INVERTED_DISKS_KEY,
98
LANGUAGE_KEY,
109
THEME_KEY,
@@ -90,11 +89,6 @@ export const useBackendParamsForTables: SettingProps = {
9089
title: i18n('settings.useBackendParamsForTables.title'),
9190
helpPopoverContent: i18n('settings.useBackendParamsForTables.popover'),
9291
};
93-
export const enableQueryModesForExplainSetting: SettingProps = {
94-
settingKey: ENABLE_ADDITIONAL_QUERY_MODES,
95-
title: i18n('settings.enableAdditionalQueryModes.title'),
96-
helpPopoverContent: i18n('settings.enableAdditionalQueryModes.popover'),
97-
};
9892
export const queryUseMultiSchemaSetting: SettingProps = {
9993
settingKey: QUERY_USE_MULTI_SCHEMA_KEY,
10094
title: i18n('settings.queryUseMultiSchema.title'),
@@ -109,12 +103,7 @@ export const appearanceSection: SettingsSection = {
109103
export const experimentsSection: SettingsSection = {
110104
id: 'experimentsSection',
111105
title: i18n('section.experiments'),
112-
settings: [
113-
useNodesEndpointSetting,
114-
useBackendParamsForTables,
115-
enableQueryModesForExplainSetting,
116-
queryUseMultiSchemaSetting,
117-
],
106+
settings: [useNodesEndpointSetting, useBackendParamsForTables, queryUseMultiSchemaSetting],
118107
};
119108

120109
export const generalPage: SettingsPage = {

0 commit comments

Comments
 (0)