Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
60b550e
feat: add rows limit to query settings
astandrik Sep 13, 2024
5469b74
fix: review fixes
astandrik Sep 16, 2024
a970b28
Merge branch 'main' into astandrik.add-rows-limit-to-query-settings-1253
astandrik Sep 16, 2024
df16b2d
fix: use zod instead of yup
astandrik Sep 16, 2024
e55c633
fix: review fix
astandrik Sep 16, 2024
b87e848
fix: review fixes
astandrik Sep 16, 2024
f572b1a
fix: revert changes
astandrik Sep 17, 2024
adf896f
Merge branch 'main' into astandrik.add-rows-limit-to-query-settings-1253
astandrik Sep 17, 2024
410a10f
Merge branch 'main' into astandrik.add-rows-limit-to-query-settings-1253
astandrik Sep 17, 2024
56f9e3f
fix: review fixes
astandrik Sep 18, 2024
df1c0bb
fix: long running query test
astandrik Sep 18, 2024
07abc0f
Merge branch 'main' into astandrik.add-rows-limit-to-query-settings-1253
astandrik Sep 18, 2024
cdadfbf
Merge branch 'main' into astandrik.add-rows-limit-to-query-settings-1253
astandrik Sep 18, 2024
c3fe9af
Merge branch 'main' into astandrik.add-rows-limit-to-query-settings-1253
astandrik Sep 18, 2024
dcb0f95
fix: review fixes
astandrik Sep 19, 2024
67b9d0d
Merge branch 'main' into astandrik.add-rows-limit-to-query-settings-1253
astandrik Sep 19, 2024
2c30b28
fix: nanofix
astandrik Sep 19, 2024
470d285
Merge branch 'main' into astandrik.add-rows-limit-to-query-settings-1253
astandrik Sep 19, 2024
f64c011
fix: timeout and limitRows
astandrik Sep 20, 2024
514265d
Merge branch 'main' into astandrik.add-rows-limit-to-query-settings-1253
astandrik Sep 23, 2024
e0d310d
Merge branch 'main' into astandrik.add-rows-limit-to-query-settings-1253
astandrik Sep 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 0 additions & 43 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@
"uuid": "^10.0.0",
"web-vitals": "^1.1.2",
"ydb-ui-components": "^4.2.0",
"yup": "^1.4.0",
"zod": "^3.23.8"
},
"scripts": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import React from 'react';

import {Dialog, Link as ExternalLink, Flex, TextInput} from '@gravity-ui/uikit';
import {yupResolver} from '@hookform/resolvers/yup';
import {zodResolver} from '@hookform/resolvers/zod';
import {Controller, useForm} from 'react-hook-form';
import * as yup from 'yup';
import {z} from 'zod';

import {useTracingLevelOptionAvailable} from '../../../../store/reducers/capabilities/hooks';
import {
Expand Down Expand Up @@ -32,25 +32,31 @@ import './QuerySettingsDialog.scss';

const b = cn('ydb-query-settings-dialog');

const validationSchema = yup.object().shape({
timeout: yup.string().test('is-within-range', i18n('form.validation.timeout'), (value) => {
if (!value) {
return true;
}
const num = Number(value);
return !isNaN(num) && num > 0;
}),
limitRows: yup.string().test('is-within-range', i18n('form.validation.limitRows'), (value) => {
if (!value) {
return true;
}
const num = Number(value);
return !isNaN(num) && num > 0 && num <= 100000;
}),
queryMode: yup.mixed<QueryMode>().required(),
transactionMode: yup.mixed<TransactionMode>().required(),
statisticsMode: yup.mixed<StatisticsMode>(),
tracingLevel: yup.mixed<TracingLevel>(),
const validationSchema = z.object({
timeout: z.string().refine(
(value) => {
if (!value) {
return true;
}
const num = Number(value);
return !isNaN(num) && num > 0;
},
{message: i18n('form.validation.timeout')},
),
limitRows: z.string().refine(
(value) => {
if (!value) {
return true;
}
const num = Number(value);
return !isNaN(num) && num > 0 && num <= 100000;
},
{message: i18n('form.validation.limitRows')},
),
queryMode: z.custom<QueryMode>(),
transactionMode: z.custom<TransactionMode>(),
statisticsMode: z.custom<StatisticsMode>().optional(),
tracingLevel: z.custom<TracingLevel>().optional(),
});

export function QuerySettingsDialog() {
Expand Down Expand Up @@ -101,7 +107,7 @@ function QuerySettingsForm({initialValues, onSubmit, onClose}: QuerySettingsForm
formState: {errors},
} = useForm<QuerySettings>({
defaultValues: initialValues,
resolver: yupResolver<QuerySettings>(validationSchema),
resolver: zodResolver(validationSchema),
});

const enableTracingLevel = useTracingLevelOptionAvailable();
Expand Down