Skip to content

Commit d08ebff

Browse files
authored
Refactor create pitr statement (#20979)
Refactor create pitr statement Approved by: @iamlinjunhong, @heni02
1 parent 890bfec commit d08ebff

10 files changed

Lines changed: 6017 additions & 5962 deletions

File tree

‎pkg/sql/parsers/dialect/mysql/mysql_sql.go‎

Lines changed: 5768 additions & 5711 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎pkg/sql/parsers/dialect/mysql/mysql_sql.y‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,14 +1144,14 @@ snapshot_object_opt:
11441144
}
11451145

11461146
create_pitr_stmt:
1147-
CREATE PITR not_exists_opt ident RANGE pitr_value STRING
1147+
CREATE PITR not_exists_opt ident FOR ACCOUNT RANGE pitr_value STRING
11481148
{
11491149
$$ = &tree.CreatePitr{
11501150
IfNotExists: $3,
11511151
Name: tree.Identifier($4.Compare()),
11521152
Level: tree.PITRLEVELACCOUNT,
1153-
PitrValue: $6,
1154-
PitrUnit: $7,
1153+
PitrValue: $8,
1154+
PitrUnit: $9,
11551155
}
11561156
}
11571157
| CREATE PITR not_exists_opt ident FOR CLUSTER RANGE pitr_value STRING
@@ -1186,16 +1186,16 @@ create_pitr_stmt:
11861186
PitrUnit: $10,
11871187
}
11881188
}
1189-
| CREATE PITR not_exists_opt ident FOR DATABASE ident TABLE ident RANGE pitr_value STRING
1189+
| CREATE PITR not_exists_opt ident FOR TABLE ident ident RANGE pitr_value STRING
11901190
{
11911191
$$ = &tree.CreatePitr{
11921192
IfNotExists: $3,
11931193
Name: tree.Identifier($4.Compare()),
11941194
Level: tree.PITRLEVELTABLE,
11951195
DatabaseName: tree.Identifier($7.Compare()),
1196-
TableName: tree.Identifier($9.Compare()),
1197-
PitrValue: $11,
1198-
PitrUnit: $12,
1196+
TableName: tree.Identifier($8.Compare()),
1197+
PitrValue: $10,
1198+
PitrUnit: $11,
11991199
}
12001200
}
12011201

‎pkg/sql/parsers/dialect/mysql/mysql_sql_test.go‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3008,16 +3008,16 @@ var (
30083008
output: "create pitr pitr2 for account acc01 range 1 d",
30093009
},
30103010
{
3011-
input: "create pitr `pitr3` range 1 'h'",
3012-
output: "create pitr pitr3 for self account range 1 h",
3011+
input: "create pitr `pitr3` for account range 1 'h'",
3012+
output: "create pitr pitr3 for account range 1 h",
30133013
},
30143014
{
30153015
input: "create pitr `pitr4` for database db01 range 1 'h'",
30163016
output: "create pitr pitr4 for database db01 range 1 h",
30173017
},
30183018
{
3019-
input: "create pitr `pitr5` for database db01 table t01 range 1 'h'",
3020-
output: "create pitr pitr5 for database db01 table t01 range 1 h",
3019+
input: "create pitr `pitr5` for table db01 t01 range 1 'h'",
3020+
output: "create pitr pitr5 for table db01 t01 range 1 h",
30213021
},
30223022
{
30233023
input: "show pitr",

‎pkg/sql/parsers/tree/pitr.go‎

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -130,20 +130,18 @@ func (node *CreatePitr) Format(ctx *FmtCtx) {
130130
case PITRLEVELCLUSTER:
131131
ctx.WriteString("cluster")
132132
case PITRLEVELACCOUNT:
133+
ctx.WriteString("account")
133134
if len(node.AccountName) != 0 {
134-
ctx.WriteString("account ")
135+
ctx.WriteString(" ")
135136
node.AccountName.Format(ctx)
136-
} else {
137-
ctx.WriteString("self account")
138-
139137
}
140138
case PITRLEVELDATABASE:
141139
ctx.WriteString("database ")
142140
node.DatabaseName.Format(ctx)
143141
case PITRLEVELTABLE:
144-
ctx.WriteString("database ")
142+
ctx.WriteString("table ")
145143
node.DatabaseName.Format(ctx)
146-
ctx.WriteString(" table ")
144+
ctx.WriteString(" ")
147145
node.TableName.Format(ctx)
148146
}
149147

‎test/distributed/cases/pitr/pitr.result‎

Lines changed: 55 additions & 55 deletions
Large diffs are not rendered by default.

‎test/distributed/cases/pitr/pitr.sql‎

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ select * from mo_catalog.mo_pitr Where pitr_name != 'sys_mo_catalog_pitr';
4242
-- nonsys creates pitr for current account
4343
-- @session:id=1&user=acc01:test_account&password=111
4444
drop pitr if exists `select`;
45-
create pitr `select` range 10 'd';
45+
create pitr `select` for account range 10 'd';
4646
-- @ignore:1,2
4747
show pitr;
4848
-- @session
@@ -87,7 +87,7 @@ create table t1 (col1 int, col2 decimal);
8787
insert into t1 values (1,2);
8888
insert into t1 values (2,3);
8989
drop pitr if exists `$%^#`;
90-
create pitr `$%^#` for database test01 table t1 range 1 'y';
90+
create pitr `$%^#` for table test01 t1 range 1 'y';
9191
select * from t1;
9292
show create table t1;
9393
truncate t1;
@@ -116,7 +116,7 @@ insert into s3t select result, 2, 12 from generate_series(1, 30000, 1) g;
116116
select count(*) from s3t;
117117
select sum(a) from s3t;
118118
drop pitr if exists p03;
119-
create pitr p03 for database test table s3t range 2 'h';
119+
create pitr p03 for table test s3t range 2 'h';
120120
select count(*) from s3t;
121121
select sum(a) from s3t;
122122
-- @ignore:1,2
@@ -147,18 +147,18 @@ drop database test01;
147147

148148

149149
-- abnormal test: time beyond the time range when creating pitr
150-
create pitr p07 range 102 'd';
151-
create pitr p07 range 200 'h';
152-
create pitr p07 range 300 'y';
153-
create pitr p07 range 500 'mo';
154-
create pitr p07 range -1 'd';
155-
create pitr p07 range -2 'h';
156-
create pitr p07 range -3 'y';
157-
create pitr p07 range 0 'mo';
158-
create pitr p07 range 1 'day';
159-
create pitr p07 range 2 'hour';
160-
create pitr p07 range 3 'year';
161-
create pitr p07 range 20 'month';
150+
create pitr p07 for account range 102 'd';
151+
create pitr p07 for account range 200 'h';
152+
create pitr p07 for account range 300 'y';
153+
create pitr p07 for account range 500 'mo';
154+
create pitr p07 for account range -1 'd';
155+
create pitr p07 for account range -2 'h';
156+
create pitr p07 for account range -3 'y';
157+
create pitr p07 for account range 0 'mo';
158+
create pitr p07 for account range 1 'day';
159+
create pitr p07 for account range 2 'hour';
160+
create pitr p07 for account range 3 'year';
161+
create pitr p07 for account range 20 'month';
162162

163163

164164
-- abnormal test: sys create duplicate pitr for sys (object: account)
@@ -192,8 +192,8 @@ use test;
192192
create table t1(col int, col2 decimal);
193193
insert into t1 values(1,1);
194194
drop pitr if exists p10;
195-
create pitr p10 for database test table t1 range 10 'y';
196-
create pitr p11 for database test table t1 range 11 'd';
195+
create pitr p10 for table test t1 range 10 'y';
196+
create pitr p11 for table test t1 range 11 'd';
197197
drop pitr p10;
198198
drop database test;
199199

@@ -207,8 +207,8 @@ create pitr pitr02 for account acc01 range 11 'mo';
207207
-- abnormal test: nonsys create duplicate pitr for sys (object: account)
208208
-- @session:id=1&user=acc01:test_account&password=111
209209
drop pitr if exists p10;
210-
create pitr p10 range 1 'd';
211-
create pitr p11 range 10 'h';
210+
create pitr p10 for account range 1 'd';
211+
create pitr p11 for account range 10 'h';
212212
drop pitr p10;
213213

214214

@@ -229,8 +229,8 @@ use test;
229229
create table t1(col int, col2 decimal);
230230
insert into t1 values(1,1);
231231
drop pitr if exists p10;
232-
create pitr p10 for database test table t1 range 10 'y';
233-
create pitr p11 for database test table t1 range 11 'd';
232+
create pitr p10 for table test t1 range 10 'y';
233+
create pitr p11 for table test t1 range 11 'd';
234234
drop pitr p10;
235235
drop database test;
236236
-- @session
@@ -239,10 +239,10 @@ drop database test;
239239
-- authority: sys creates pitr, verify sys only can view and manage their own pitr
240240
-- @session:id=1&user=acc01:test_account&password=111
241241
drop pitr if exists p11;
242-
create pitr p11 range 1 'd';
242+
create pitr p11 for account range 1 'd';
243243
-- @session
244244
drop pitr if exists p12;
245-
create pitr p12 range 1 'd';
245+
create pitr p12 for account range 1 'd';
246246
-- @ignore:1,2
247247
show pitr;
248248
-- @ignore:0,2,3,4,6,7,10
@@ -257,10 +257,10 @@ drop pitr p11;
257257
-- authority: nonsys creates pitr, verify nonsys only can view and manage own pitr
258258
-- @session:id=1&user=acc01:test_account&password=111
259259
drop pitr if exists p11;
260-
create pitr p11 range 1 'd';
260+
create pitr p11 for account range 1 'd';
261261
-- @session
262262
drop pitr if exists p12;
263-
create pitr p12 range 1 'd';
263+
create pitr p12 for account range 1 'd';
264264
-- @session:id=1&user=acc01:test_account&password=111
265265
-- @ignore:1,2
266266
show pitr;
@@ -276,7 +276,7 @@ drop user if exists user01;
276276
create user user01 identified by '111';
277277
-- @session
278278
-- @session:id=2&user=acc01:user01&password=111
279-
create pitr p20 range 10 'd';
279+
create pitr p20 for account range 10 'd';
280280
-- @session
281281
-- @session:id=1&user=acc01:test_account&password=111
282282
drop user user01;

0 commit comments

Comments
 (0)