Skip to content

Commit 79b68c2

Browse files
committed
BREAKING! Move ReindexStmt from AllSqliteNodes to AllIndexNodes
Also rename ReindexStmt.table field to ReindexStmt.name
1 parent ab6eed7 commit 79b68c2

File tree

7 files changed

+27
-23
lines changed

7 files changed

+27
-23
lines changed

src/cst/Index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ export type AllIndexStatements =
2727
| CreateIndexStmt
2828
| DropIndexStmt
2929
| AlterIndexStmt
30-
| AlterIndexAllInTablespaceStmt;
30+
| AlterIndexAllInTablespaceStmt
31+
| ReindexStmt;
3132

3233
// CREATE INDEX
3334
export interface CreateIndexStmt extends BaseNode {
@@ -119,3 +120,10 @@ export interface AlterIndexAllInTablespaceStmt extends BaseNode {
119120
ownedBy?: OwnedByClause;
120121
action: AlterActionSetTablespace;
121122
}
123+
124+
// PostgreSQL, SQLite
125+
export interface ReindexStmt extends BaseNode {
126+
type: "reindex_stmt";
127+
reindexKw: Keyword<"REINDEX">;
128+
name?: EntityName;
129+
}

src/cst/dialects/Sqlite.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ export type AllSqliteStatements =
1212
| AttachDatabaseStmt
1313
| DetachDatabaseStmt
1414
| VacuumStmt
15-
| ReindexStmt
1615
| PragmaStmt;
1716

1817
export interface AttachDatabaseStmt extends BaseNode {
@@ -39,12 +38,6 @@ export interface VacuumStmt extends BaseNode {
3938
file?: StringLiteral;
4039
}
4140

42-
export interface ReindexStmt extends BaseNode {
43-
type: "reindex_stmt";
44-
reindexKw: Keyword<"REINDEX">;
45-
table?: EntityName;
46-
}
47-
4841
export interface PragmaStmt extends BaseNode {
4942
type: "pragma_stmt";
5043
pragmaKw: Keyword<"PRAGMA">;

src/parser.pegjs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ ddl_statement
9999
/ drop_index_stmt
100100
/ &postgres x:alter_index_stmt { return x; }
101101
/ &postgres x:alter_index_all_in_tablespace_stmt { return x; }
102+
/ (&postgres / &sqlite) x:reindex_stmt { return x; }
102103
/ &sqlite x:ddl_statement_sqlite { return x; }
103104
/ &mysql x:ddl_statement_mysql { return x; }
104105
/ &bigquery x:ddl_statement_bigquery { return x; }
@@ -2139,6 +2140,11 @@ alter_index_all_in_tablespace_stmt
21392140
});
21402141
}
21412142

2143+
reindex_stmt
2144+
= kw:REINDEX name:(__ entity_name)? {
2145+
return loc({ type: "reindex_stmt", reindexKw: kw, name: read(name) });
2146+
}
2147+
21422148
/**
21432149
* ------------------------------------------------------------------------------------ *
21442150
* *
@@ -4410,7 +4416,6 @@ sqlite_statement
44104416
= attach_database_stmt
44114417
/ detach_database_stmt
44124418
/ vacuum_stmt
4413-
/ reindex_stmt
44144419
/ pragma_stmt
44154420

44164421
attach_database_stmt
@@ -4453,11 +4458,6 @@ vacuum_stmt
44534458
});
44544459
}
44554460

4456-
reindex_stmt
4457-
= kw:REINDEX table:(__ entity_name)? {
4458-
return loc({ type: "reindex_stmt", reindexKw: kw, table: read(table) });
4459-
}
4460-
44614461
pragma_stmt
44624462
= kw:(PRAGMA __) pragma:(pragma_assignment / pragma_func_call / entity_name) {
44634463
return loc({

src/showNode/dialects/sqlite.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ export const sqliteMap: FullTransformMap<string, AllSqliteNodes> = {
99
show([node.detachKw, node.databaseKw, node.schema]),
1010
vacuum_stmt: (node) =>
1111
show([node.vacuumKw, node.schema, node.intoKw, node.file]),
12-
reindex_stmt: (node) => show([node.reindexKw, node.table]),
1312
pragma_stmt: (node) => show([node.pragmaKw, node.pragma]),
1413
pragma_assignment: (node) => show([node.name, "=", node.value]),
1514
pragma_func_call: (node) => show([node.name, node.args]),

src/showNode/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,6 @@ export const indexMap: FullTransformMap<string, AllIndexNodes> = {
5353
node.ownedBy,
5454
node.action,
5555
]),
56+
57+
reindex_stmt: (node) => show([node.reindexKw, node.name]),
5658
};

test/ddl/index.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,4 +220,14 @@ describe("index", () => {
220220
});
221221
});
222222
});
223+
224+
describe("reindex", () => {
225+
dialect("sqlite", () => {
226+
it("supports simple REINDEX", () => {
227+
testWc("REINDEX");
228+
testWc("REINDEX tbl");
229+
testWc("REINDEX my_schema.tbl");
230+
});
231+
});
232+
});
223233
});

test/sqlite.test.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,6 @@ describe("SQLite specific statements", () => {
2525
});
2626
});
2727

28-
describe("REINDEX", () => {
29-
it("supports REINDEX statement", () => {
30-
testWc("REINDEX");
31-
testWc("REINDEX tbl");
32-
testWc("REINDEX my_schema.tbl");
33-
});
34-
});
35-
3628
describe("PRAGMA", () => {
3729
it("supports quering PRAGMA name", () => {
3830
testWc("PRAGMA function_list");

0 commit comments

Comments
 (0)