diff --git a/src/cst/AlterAction.ts b/src/cst/AlterAction.ts index fe2f1652..b1a30865 100644 --- a/src/cst/AlterAction.ts +++ b/src/cst/AlterAction.ts @@ -141,7 +141,7 @@ export interface AlterActionAlterColumn extends BaseNode { type: "alter_action_alter_column"; alterKw: Keyword<"ALTER"> | [Keyword<"ALTER">, Keyword<"COLUMN">]; ifExistsKw?: [Keyword<"IF">, Keyword<"EXISTS">]; - column: Identifier; + column: Identifier | NumberLiteral; action: AlterColumnAction; } diff --git a/src/parser.pegjs b/src/parser.pegjs index bc5fb7d7..c868f667 100644 --- a/src/parser.pegjs +++ b/src/parser.pegjs @@ -2751,7 +2751,7 @@ rename_column_kw / kw:RENAME (&sqlite / &postgres) { return kw; } alter_action_alter_column - = alterKw:(alter_column_kw __) ifKw:(if_exists __)? column:(column __) action:alter_column_action { + = alterKw:(alter_column_kw __) ifKw:(if_exists __)? column:((column / number_literal) __) action:alter_column_action { return loc({ type: "alter_action_alter_column", alterKw: read(alterKw), diff --git a/test/ddl/index.test.ts b/test/ddl/index.test.ts index 2b76fcd2..5ec542ed 100644 --- a/test/ddl/index.test.ts +++ b/test/ddl/index.test.ts @@ -225,7 +225,7 @@ describe("index", () => { }); it("supports ALTER COLUMN .. SET STATISTICS", () => { - testWc("ALTER INDEX my_idx ALTER COLUMN col SET STATISTICS 100"); + testWc("ALTER INDEX my_idx ALTER COLUMN 3 SET STATISTICS 100"); }); it("supports ALTER INDEX ALL IN TABLESPACE", () => {