@@ -18,7 +18,8 @@ func AddGormCallbacks(db *gorm.DB, tracer opentracing.Tracer) {
1818 registerCallbacks (db , "query" , callbacks )
1919 registerCallbacks (db , "update" , callbacks )
2020 registerCallbacks (db , "delete" , callbacks )
21- registerCallbacks (db , "row_query" , callbacks )
21+ registerCallbacks (db , "row" , callbacks )
22+ registerCallbacks (db , "raw" , callbacks )
2223}
2324
2425type callbacks struct {
@@ -29,16 +30,18 @@ func newCallbacks(tracer opentracing.Tracer) *callbacks {
2930 return & callbacks {tracer }
3031}
3132
32- func (c * callbacks ) beforeCreate (scope * gorm.DB ) { c .before (scope ) }
33- func (c * callbacks ) afterCreate (scope * gorm.DB ) { c .after (scope , "INSERT" ) }
34- func (c * callbacks ) beforeQuery (scope * gorm.DB ) { c .before (scope ) }
35- func (c * callbacks ) afterQuery (scope * gorm.DB ) { c .after (scope , "SELECT" ) }
36- func (c * callbacks ) beforeUpdate (scope * gorm.DB ) { c .before (scope ) }
37- func (c * callbacks ) afterUpdate (scope * gorm.DB ) { c .after (scope , "UPDATE" ) }
38- func (c * callbacks ) beforeDelete (scope * gorm.DB ) { c .before (scope ) }
39- func (c * callbacks ) afterDelete (scope * gorm.DB ) { c .after (scope , "DELETE" ) }
40- func (c * callbacks ) beforeRowQuery (scope * gorm.DB ) { c .before (scope ) }
41- func (c * callbacks ) afterRowQuery (scope * gorm.DB ) { c .after (scope , "" ) }
33+ func (c * callbacks ) beforeCreate (scope * gorm.DB ) { c .before (scope ) }
34+ func (c * callbacks ) afterCreate (scope * gorm.DB ) { c .after (scope , "INSERT" ) }
35+ func (c * callbacks ) beforeQuery (scope * gorm.DB ) { c .before (scope ) }
36+ func (c * callbacks ) afterQuery (scope * gorm.DB ) { c .after (scope , "SELECT" ) }
37+ func (c * callbacks ) beforeUpdate (scope * gorm.DB ) { c .before (scope ) }
38+ func (c * callbacks ) afterUpdate (scope * gorm.DB ) { c .after (scope , "UPDATE" ) }
39+ func (c * callbacks ) beforeDelete (scope * gorm.DB ) { c .before (scope ) }
40+ func (c * callbacks ) afterDelete (scope * gorm.DB ) { c .after (scope , "DELETE" ) }
41+ func (c * callbacks ) beforeRow (scope * gorm.DB ) { c .before (scope ) }
42+ func (c * callbacks ) afterRow (scope * gorm.DB ) { c .after (scope , "" ) }
43+ func (c * callbacks ) beforeRaw (scope * gorm.DB ) { c .before (scope ) }
44+ func (c * callbacks ) afterRaw (scope * gorm.DB ) { c .after (scope , "" ) }
4245
4346func (c * callbacks ) before (db * gorm.DB ) {
4447 span , newCtx := opentracing .StartSpanFromContextWithTracer (db .Statement .Context , c .tracer , "sql" )
@@ -48,6 +51,7 @@ func (c *callbacks) before(db *gorm.DB) {
4851}
4952
5053func (c * callbacks ) after (db * gorm.DB , operation string ) {
54+
5155 spanInterface , ok := db .Get ("span" )
5256 if ! ok {
5357 return
@@ -85,8 +89,11 @@ func registerCallbacks(db *gorm.DB, name string, c *callbacks) {
8589 case "delete" :
8690 db .Callback ().Delete ().Before (gormCallbackName ).Register (beforeName , c .beforeDelete )
8791 db .Callback ().Delete ().After (gormCallbackName ).Register (afterName , c .afterDelete )
88- case "row_query" :
89- db .Callback ().Row ().Before (gormCallbackName ).Register (beforeName , c .beforeRowQuery )
90- db .Callback ().Row ().After (gormCallbackName ).Register (afterName , c .afterRowQuery )
92+ case "row" :
93+ db .Callback ().Row ().Before (gormCallbackName ).Register (beforeName , c .beforeRow )
94+ db .Callback ().Row ().After (gormCallbackName ).Register (afterName , c .afterRow )
95+ case "raw" :
96+ db .Callback ().Raw ().Before (gormCallbackName ).Register (beforeName , c .beforeRaw )
97+ db .Callback ().Raw ().After (gormCallbackName ).Register (afterName , c .afterRaw )
9198 }
9299}
0 commit comments