diff --git a/src/platform/packages/shared/kbn-esql-language/src/commands/definitions/types.ts b/src/platform/packages/shared/kbn-esql-language/src/commands/definitions/types.ts index 82b8b1a83bae3..b6e35702a56e6 100644 --- a/src/platform/packages/shared/kbn-esql-language/src/commands/definitions/types.ts +++ b/src/platform/packages/shared/kbn-esql-language/src/commands/definitions/types.ts @@ -452,10 +452,6 @@ export interface ValidationErrors { message: string; type: {}; }; - forkTooFewBranches: { - message: string; - type: {}; - }; forkNotAllowedWithSubqueries: { message: string; type: {}; diff --git a/src/platform/packages/shared/kbn-esql-language/src/commands/definitions/utils/errors.ts b/src/platform/packages/shared/kbn-esql-language/src/commands/definitions/utils/errors.ts index 505587fd70aab..042a6b8c36acc 100644 --- a/src/platform/packages/shared/kbn-esql-language/src/commands/definitions/utils/errors.ts +++ b/src/platform/packages/shared/kbn-esql-language/src/commands/definitions/utils/errors.ts @@ -429,13 +429,6 @@ Expected one of: }), type: 'error', }; - case 'forkTooFewBranches': - return { - message: i18n.translate('kbn-esql-language.esql.validation.forkTooFewBranches', { - defaultMessage: '[FORK] Must include at least two branches.', - }), - type: 'error', - }; case 'forkNotAllowedWithSubqueries': return { message: i18n.translate('kbn-esql-language.esql.validation.forkNotAllowedWithSubqueries', { @@ -750,9 +743,6 @@ export const errors = { forkTooManyBranches: (command: ESQLAstAllCommands): ESQLMessage => errors.byId('forkTooManyBranches', command.location, {}), - forkTooFewBranches: (command: ESQLAstAllCommands): ESQLMessage => - errors.byId('forkTooFewBranches', command.location, {}), - forkNotAllowedWithSubqueries: (command: ESQLAstAllCommands): ESQLMessage => errors.byId('forkNotAllowedWithSubqueries', command.location, {}), diff --git a/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/autocomplete.test.ts b/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/autocomplete.test.ts index 639282528fb21..208d50c27b98b 100644 --- a/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/autocomplete.test.ts +++ b/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/autocomplete.test.ts @@ -146,7 +146,7 @@ describe('FORK Autocomplete', () => { }); test('suggests pipe and new branch after complete branch', async () => { - await forkExpectSuggestions('FROM a | FORK (LIMIT 100) ', ['($0)']); + await forkExpectSuggestions('FROM a | FORK (LIMIT 100) ', ['($0)', '| ']); await forkExpectSuggestions('FROM a | FORK (LIMIT 100) (SORT keywordField ASC) ', [ '($0)', '| ', diff --git a/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/autocomplete.ts b/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/autocomplete.ts index a9c356cc27b96..b768f76a38bf5 100644 --- a/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/autocomplete.ts +++ b/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/autocomplete.ts @@ -41,7 +41,7 @@ export async function autocomplete( if (!withinActiveBranch && /\)\s+$/i.test(innerText)) { const suggestions = [newBranchSuggestion]; - if (forkCommand.args.length > 1) { + if (forkCommand.args.length > 0) { suggestions.push(pipeCompleteItem); } return suggestions; diff --git a/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/validate.test.ts b/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/validate.test.ts index a35b7a06b5a2f..0ce37228bede5 100644 --- a/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/validate.test.ts +++ b/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/validate.test.ts @@ -38,12 +38,12 @@ describe('FORK Validation', () => { ); }); - test('requires at least two branches', () => { + test('Allows FORK with one branch', () => { forkExpectErrors( `FROM index | FORK (WHERE keywordField != "")`, - [`[FORK] Must include at least two branches.`] + [] ); }); diff --git a/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/validate.ts b/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/validate.ts index ddd1e9e1524a1..45f0b66824d45 100644 --- a/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/validate.ts +++ b/src/platform/packages/shared/kbn-esql-language/src/commands/registry/fork/validate.ts @@ -17,7 +17,6 @@ import type { ICommandContext, ICommandCallbacks } from '../types'; import { validateCommandArguments } from '../../definitions/utils/validation'; import { errors } from '../../definitions/utils'; -const MIN_BRANCHES = 2; const MAX_BRANCHES = 8; export const validate = ( @@ -29,10 +28,6 @@ export const validate = ( const forkCommand = command as ESQLAstForkCommand; const messages: ESQLMessage[] = []; - if (forkCommand.args.length < MIN_BRANCHES) { - messages.push(errors.forkTooFewBranches(forkCommand)); - } - if (forkCommand.args.length > MAX_BRANCHES) { messages.push(errors.forkTooManyBranches(forkCommand)); } diff --git a/src/platform/plugins/shared/esql/ADD_COMMAND_GUIDE.md b/src/platform/plugins/shared/esql/ADD_COMMAND_GUIDE.md index 989adeb436f60..a81c7a6518556 100644 --- a/src/platform/plugins/shared/esql/ADD_COMMAND_GUIDE.md +++ b/src/platform/plugins/shared/esql/ADD_COMMAND_GUIDE.md @@ -161,11 +161,6 @@ export const validate = ( ): ESQLMessage[] => { const messages: ESQLMessage[] = []; - // custom check specific to FORK - if (command.args.length < MIN_BRANCHES) { - messages.push(errors.forkTooFewBranches(command)); - } - // custom check specific to FORK if (command.args.length > MAX_BRANCHES) { messages.push(errors.forkTooManyBranches(command));