@@ -339,36 +339,35 @@ func TestNestedTransactionWithBlock(t *testing.T) {
339
339
}
340
340
341
341
func TestDeeplyNestedTransactionWithBlockAndWrappedCallback (t * testing.T ) {
342
- t .Skip ()
343
342
transaction := func (ctx context.Context , db * gorm.DB , callback func (ctx context.Context , db * gorm.DB ) error ) error {
344
343
return db .WithContext (ctx ).Transaction (func (tx * gorm.DB ) error {
345
344
return callback (ctx , tx )
346
345
})
347
346
}
348
347
var (
349
- user = * GetUser ("transaction -nested" , Config {})
350
- user1 = * GetUser ("transaction -nested-1" , Config {})
351
- user2 = * GetUser ("transaction -nested-2" , Config {})
348
+ user = * GetUser ("deep -nested-transaction " , Config {})
349
+ user1 = * GetUser ("deep -nested-transaction -1" , Config {})
350
+ user2 = * GetUser ("deep -nested-transaction -2" , Config {})
352
351
)
353
352
354
353
if err := transaction (context .Background (), DB , func (ctx context.Context , tx * gorm.DB ) error {
355
354
tx .Create (& user )
356
355
357
- if err := tx .First (& User {}, "name = ?" , user .Name ).Error ; err != nil {
356
+ if err := tx .First (& User {}, "\" name\" = ?" , user .Name ).Error ; err != nil {
358
357
t .Fatalf ("Should find saved record" )
359
358
}
360
359
361
360
if err := transaction (ctx , tx , func (ctx context.Context , tx1 * gorm.DB ) error {
362
361
tx1 .Create (& user1 )
363
362
364
- if err := tx1 .First (& User {}, "name = ?" , user1 .Name ).Error ; err != nil {
363
+ if err := tx1 .First (& User {}, "\" name\" = ?" , user1 .Name ).Error ; err != nil {
365
364
t .Fatalf ("Should find saved record" )
366
365
}
367
366
368
367
if err := transaction (ctx , tx1 , func (ctx context.Context , tx2 * gorm.DB ) error {
369
368
tx2 .Create (& user2 )
370
369
371
- if err := tx2 .First (& User {}, "name = ?" , user2 .Name ).Error ; err != nil {
370
+ if err := tx2 .First (& User {}, "\" name\" = ?" , user2 .Name ).Error ; err != nil {
372
371
t .Fatalf ("Should find saved record" )
373
372
}
374
373
@@ -382,27 +381,27 @@ func TestDeeplyNestedTransactionWithBlockAndWrappedCallback(t *testing.T) {
382
381
t .Fatalf ("nested transaction should returns error" )
383
382
}
384
383
385
- if err := tx .First (& User {}, "name = ?" , user1 .Name ).Error ; err == nil {
384
+ if err := tx .First (& User {}, "\" name\" = ?" , user1 .Name ).Error ; err == nil {
386
385
t .Fatalf ("Should not find rollbacked record" )
387
386
}
388
387
389
- if err := tx .First (& User {}, "name = ?" , user2 .Name ).Error ; err ! = nil {
388
+ if err := tx .First (& User {}, "\" name\" = ?" , user2 .Name ).Error ; err = = nil {
390
389
t .Fatalf ("Should find saved record" )
391
390
}
392
391
return nil
393
392
}); err != nil {
394
393
t .Fatalf ("no error should return, but got %v" , err )
395
394
}
396
395
397
- if err := DB .First (& User {}, "name = ?" , user .Name ).Error ; err != nil {
396
+ if err := DB .First (& User {}, "\" name\" = ?" , user .Name ).Error ; err != nil {
398
397
t .Fatalf ("Should find saved record" )
399
398
}
400
399
401
- if err := DB .First (& User {}, "name = ?" , user1 .Name ).Error ; err == nil {
400
+ if err := DB .First (& User {}, "\" name\" = ?" , user1 .Name ).Error ; err == nil {
402
401
t .Fatalf ("Should not find rollbacked parent record" )
403
402
}
404
403
405
- if err := DB .First (& User {}, "name = ?" , user2 .Name ).Error ; err ! = nil {
404
+ if err := DB .First (& User {}, "\" name\" = ?" , user2 .Name ).Error ; err = = nil {
406
405
t .Fatalf ("Should not find rollbacked nested record" )
407
406
}
408
407
}
0 commit comments