File tree 2 files changed +23
-3
lines changed
2 files changed +23
-3
lines changed Original file line number Diff line number Diff line change @@ -706,6 +706,23 @@ func TestIsTableInfoMustLoad(t *testing.T) {
706
706
require .NoError (t , err )
707
707
require .True (t , meta .IsTableInfoMustLoad (b ))
708
708
709
+ tableInfo = tableInfo .Clone ()
710
+ b , err = json .Marshal (tableInfo )
711
+ require .NoError (t , err )
712
+ require .True (t , meta .IsTableInfoMustLoad (b ))
713
+
714
+ tableInfo .ForeignKeys = nil
715
+ tableInfo = tableInfo .Clone ()
716
+ b , err = json .Marshal (tableInfo )
717
+ require .NoError (t , err )
718
+ require .False (t , meta .IsTableInfoMustLoad (b ))
719
+
720
+ tableInfo .ForeignKeys = make ([]* model.FKInfo , 0 )
721
+ tableInfo = tableInfo .Clone ()
722
+ b , err = json .Marshal (tableInfo )
723
+ require .NoError (t , err )
724
+ require .False (t , meta .IsTableInfoMustLoad (b ))
725
+
709
726
tableInfo = & model.TableInfo {
710
727
TempTableType : model .TempTableGlobal ,
711
728
State : model .StatePublic ,
Original file line number Diff line number Diff line change @@ -242,7 +242,7 @@ func (t *TableInfo) Clone() *TableInfo {
242
242
nt := * t
243
243
nt .Columns = make ([]* ColumnInfo , len (t .Columns ))
244
244
nt .Indices = make ([]* IndexInfo , len (t .Indices ))
245
- nt .ForeignKeys = make ([] * FKInfo , len ( t . ForeignKeys ))
245
+ nt .ForeignKeys = nil
246
246
247
247
for i := range t .Columns {
248
248
nt .Columns [i ] = t .Columns [i ].Clone ()
@@ -252,8 +252,11 @@ func (t *TableInfo) Clone() *TableInfo {
252
252
nt .Indices [i ] = t .Indices [i ].Clone ()
253
253
}
254
254
255
- for i := range t .ForeignKeys {
256
- nt .ForeignKeys [i ] = t .ForeignKeys [i ].Clone ()
255
+ if len (t .ForeignKeys ) > 0 {
256
+ nt .ForeignKeys = make ([]* FKInfo , len (t .ForeignKeys ))
257
+ for i := range t .ForeignKeys {
258
+ nt .ForeignKeys [i ] = t .ForeignKeys [i ].Clone ()
259
+ }
257
260
}
258
261
259
262
if t .Partition != nil {
You can’t perform that action at this time.
0 commit comments