Skip to content

Commit fcbba22

Browse files
committed
parse correctly columns in keep command
1 parent 1195a4e commit fcbba22

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

Diff for: packages/kbn-esql-ast/src/__tests__/ast_parser.columns.test.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,8 @@ describe('Column Identifier Expressions', () => {
6464
const text = 'FROM a | KEEP a.b';
6565
const { ast } = parse(text);
6666

67-
console.log(JSON.stringify(ast, null, 2));
68-
6967
expect(ast).toMatchObject([
68+
{},
7069
{
7170
type: 'command',
7271
args: [

Diff for: packages/kbn-esql-ast/src/ast_helpers.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import {
1818
type InlineCastContext,
1919
type IntegerValueContext,
2020
type QualifiedIntegerLiteralContext,
21+
QualifiedNamePatternContext,
2122
} from './antlr/esql_parser';
2223
import { getPosition } from './ast_position_utils';
2324
import { DOUBLE_TICKS_REGEX, SINGLE_BACKTICK, TICKS_REGEX } from './constants';
@@ -377,7 +378,11 @@ export function createColumnStar(ctx: TerminalNode): ESQLColumn {
377378

378379
export function createColumn(ctx: ParserRuleContext): ESQLColumn {
379380
const parts: string[] = [];
380-
if (ctx instanceof QualifiedNameContext) {
381+
if (ctx instanceof QualifiedNamePatternContext) {
382+
parts.push(
383+
...ctx.identifierPattern_list().map((identifier) => parseIdentifier(identifier.getText()))
384+
);
385+
} else if (ctx instanceof QualifiedNameContext) {
381386
parts.push(...ctx.identifier_list().map((identifier) => parseIdentifier(identifier.getText())));
382387
} else {
383388
parts.push(sanitizeIdentifierString(ctx));

0 commit comments

Comments
 (0)