Skip to content

Commit e646410

Browse files
Alexey ShishkinAlexey Shishkin
authored andcommitted
fix data race in models
1 parent 96378fa commit e646410

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

templates/main/02_hooks.go.tpl

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,32 @@
11
{{- if not .NoHooks -}}
22
{{- $alias := .Aliases.Table .Table.Name}}
33

4+
var {{$alias.DownSingular}}AfterSelectMu sync.Mutex
45
var {{$alias.DownSingular}}AfterSelectHooks []{{$alias.UpSingular}}Hook
56

67
{{if or (not .Table.IsView) (.Table.ViewCapabilities.CanInsert) -}}
8+
var {{$alias.DownSingular}}BeforeInsertMu sync.Mutex
79
var {{$alias.DownSingular}}BeforeInsertHooks []{{$alias.UpSingular}}Hook
10+
var {{$alias.DownSingular}}AfterInsertMu sync.Mutex
811
var {{$alias.DownSingular}}AfterInsertHooks []{{$alias.UpSingular}}Hook
912
{{- end}}
1013

1114
{{if not .Table.IsView -}}
15+
var {{$alias.DownSingular}}BeforeUpdateMu sync.Mutex
1216
var {{$alias.DownSingular}}BeforeUpdateHooks []{{$alias.UpSingular}}Hook
17+
var {{$alias.DownSingular}}AfterUpdateMu sync.Mutex
1318
var {{$alias.DownSingular}}AfterUpdateHooks []{{$alias.UpSingular}}Hook
1419

20+
var {{$alias.DownSingular}}BeforeDeleteMu sync.Mutex
1521
var {{$alias.DownSingular}}BeforeDeleteHooks []{{$alias.UpSingular}}Hook
22+
var {{$alias.DownSingular}}AfterDeleteMu sync.Mutex
1623
var {{$alias.DownSingular}}AfterDeleteHooks []{{$alias.UpSingular}}Hook
1724
{{- end}}
1825

1926
{{if or (not .Table.IsView) (.Table.ViewCapabilities.CanUpsert) -}}
27+
var {{$alias.DownSingular}}BeforeUpsertMu sync.Mutex
2028
var {{$alias.DownSingular}}BeforeUpsertHooks []{{$alias.UpSingular}}Hook
29+
var {{$alias.DownSingular}}AfterUpsertMu sync.Mutex
2130
var {{$alias.DownSingular}}AfterUpsertHooks []{{$alias.UpSingular}}Hook
2231
{{- end}}
2332

@@ -184,28 +193,46 @@ func (o *{{$alias.UpSingular}}) doAfterUpsertHooks({{if .NoContext}}exec boil.Ex
184193
func Add{{$alias.UpSingular}}Hook(hookPoint boil.HookPoint, {{$alias.DownSingular}}Hook {{$alias.UpSingular}}Hook) {
185194
switch hookPoint {
186195
case boil.AfterSelectHook:
196+
{{$alias.DownSingular}}AfterSelectMu.Lock()
187197
{{$alias.DownSingular}}AfterSelectHooks = append({{$alias.DownSingular}}AfterSelectHooks, {{$alias.DownSingular}}Hook)
198+
{{$alias.DownSingular}}AfterSelectMu.Unlock()
188199
{{- if or (not .Table.IsView) (.Table.ViewCapabilities.CanInsert)}}
189200
case boil.BeforeInsertHook:
201+
{{$alias.DownSingular}}BeforeInsertMu.Lock()
190202
{{$alias.DownSingular}}BeforeInsertHooks = append({{$alias.DownSingular}}BeforeInsertHooks, {{$alias.DownSingular}}Hook)
203+
{{$alias.DownSingular}}BeforeInsertMu.Unlock()
191204
case boil.AfterInsertHook:
205+
{{$alias.DownSingular}}AfterInsertMu.Lock()
192206
{{$alias.DownSingular}}AfterInsertHooks = append({{$alias.DownSingular}}AfterInsertHooks, {{$alias.DownSingular}}Hook)
207+
{{$alias.DownSingular}}AfterInsertMu.Unlock()
193208
{{- end}}
194209
{{- if not .Table.IsView}}
195210
case boil.BeforeUpdateHook:
211+
{{$alias.DownSingular}}BeforeUpdateMu.Lock()
196212
{{$alias.DownSingular}}BeforeUpdateHooks = append({{$alias.DownSingular}}BeforeUpdateHooks, {{$alias.DownSingular}}Hook)
213+
{{$alias.DownSingular}}BeforeUpdateMu.Unlock()
197214
case boil.AfterUpdateHook:
215+
{{$alias.DownSingular}}AfterUpdateMu.Lock()
198216
{{$alias.DownSingular}}AfterUpdateHooks = append({{$alias.DownSingular}}AfterUpdateHooks, {{$alias.DownSingular}}Hook)
217+
{{$alias.DownSingular}}AfterUpdateMu.Unlock()
199218
case boil.BeforeDeleteHook:
219+
{{$alias.DownSingular}}BeforeDeleteMu.Lock()
200220
{{$alias.DownSingular}}BeforeDeleteHooks = append({{$alias.DownSingular}}BeforeDeleteHooks, {{$alias.DownSingular}}Hook)
221+
{{$alias.DownSingular}}BeforeDeleteMu.Unlock()
201222
case boil.AfterDeleteHook:
223+
{{$alias.DownSingular}}AfterDeleteMu.Lock()
202224
{{$alias.DownSingular}}AfterDeleteHooks = append({{$alias.DownSingular}}AfterDeleteHooks, {{$alias.DownSingular}}Hook)
225+
{{$alias.DownSingular}}AfterDeleteMu.Unlock()
203226
{{- end}}
204227
{{- if or (not .Table.IsView) (.Table.ViewCapabilities.CanInsert)}}
205228
case boil.BeforeUpsertHook:
229+
{{$alias.DownSingular}}BeforeUpsertMu.Lock()
206230
{{$alias.DownSingular}}BeforeUpsertHooks = append({{$alias.DownSingular}}BeforeUpsertHooks, {{$alias.DownSingular}}Hook)
231+
{{$alias.DownSingular}}BeforeUpsertMu.Unlock()
207232
case boil.AfterUpsertHook:
233+
{{$alias.DownSingular}}AfterUpsertMu.Lock()
208234
{{$alias.DownSingular}}AfterUpsertHooks = append({{$alias.DownSingular}}AfterUpsertHooks, {{$alias.DownSingular}}Hook)
235+
{{$alias.DownSingular}}AfterUpsertMu.Unlock()
209236
{{- end}}
210237
}
211238
}

0 commit comments

Comments
 (0)