Skip to content

Commit 69e6c10

Browse files
committed
Fix GC table regex for lower case compatibility (#753)
* Fix GC table regex for lower case compatibility * gofmt
1 parent 943dd00 commit 69e6c10

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

go/vt/schema/tablegc.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func (s TableGCState) TableHint() InternalTableHint {
5252
}
5353

5454
const (
55-
OldGCTableNameExpression string = `^_vt_(HOLD|PURGE|EVAC|DROP)_([0-f]{32})_([0-9]{14})$`
55+
OldGCTableNameExpression string = `^_vt_(HOLD|PURGE|EVAC|DROP|hold|purge|evac|drop)_([0-f]{32})_([0-9]{14})$`
5656
// GCTableNameExpression parses new internal table name format, e.g. _vt_hld_6ace8bcef73211ea87e9f875a4d24e90_20200915120410_
5757
GCTableNameExpression string = `^_vt_(hld|prg|evc|drp)_([0-f]{32})_([0-9]{14})_$`
5858
)
@@ -72,6 +72,7 @@ func init() {
7272
gcStatesTableHints[DropTableGCState] = InternalTableGCDropHint
7373
for _, gcState := range []TableGCState{HoldTableGCState, PurgeTableGCState, EvacTableGCState, DropTableGCState} {
7474
gcStates[string(gcState)] = gcState
75+
gcStates[strings.ToLower(string(gcState))] = gcState
7576
gcStates[gcState.TableHint().String()] = gcState
7677
}
7778
}

go/vt/schema/tablegc_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@ func TestIsGCTableName(t *testing.T) {
6565
"_vt_DROP_6ace8bcef73211ea87e9f875a4d24e90_20200915120410",
6666
"_vt_HOLD_6ace8bcef73211ea87e9f875a4d24e90_20200915120410",
6767
"_vt_drp_6ace8bcef73211ea87e9f875a4d24e90_20200915120410_",
68+
// Test lowercase variants for lower_case_table_names=1 compatibility
69+
"_vt_drop_6ace8bcef73211ea87e9f875a4d24e90_20200915120410",
70+
"_vt_hold_6ace8bcef73211ea87e9f875a4d24e90_20200915120410",
71+
"_vt_purge_6ace8bcef73211ea87e9f875a4d24e90_20200915120410",
72+
"_vt_evac_6ace8bcef73211ea87e9f875a4d24e90_20200915120410",
6873
}
6974
for _, tableName := range names {
7075
t.Run(tableName, func(t *testing.T) {
@@ -183,6 +188,31 @@ func TestAnalyzeGCTableName(t *testing.T) {
183188
tableName: "_vt_xyz_6ace8bcef73211ea87e9f875a4d24e90_20200915120410_",
184189
isGC: false,
185190
},
191+
// Test lowercase variants for lower_case_table_names=1 compatibility
192+
{
193+
tableName: "_vt_drop_6ace8bcef73211ea87e9f875a4d24e90_20200915120410",
194+
state: DropTableGCState,
195+
t: baseTime,
196+
isGC: true,
197+
},
198+
{
199+
tableName: "_vt_hold_6ace8bcef73211ea87e9f875a4d24e90_20200915120410",
200+
state: HoldTableGCState,
201+
t: baseTime,
202+
isGC: true,
203+
},
204+
{
205+
tableName: "_vt_purge_6ace8bcef73211ea87e9f875a4d24e90_20200915120410",
206+
state: PurgeTableGCState,
207+
t: baseTime,
208+
isGC: true,
209+
},
210+
{
211+
tableName: "_vt_evac_6ace8bcef73211ea87e9f875a4d24e90_20200915120410",
212+
state: EvacTableGCState,
213+
t: baseTime,
214+
isGC: true,
215+
},
186216
}
187217
for _, ts := range tt {
188218
t.Run(ts.tableName, func(t *testing.T) {

0 commit comments

Comments
 (0)