1
2
3
4
5
12
13 package main
14
15 import (
16 "os"
17 "runtime"
18 "runtime/pprof"
19 "sync"
20 "time"
21 )
22
23 func init() {
24 register("Cockroach16167", Cockroach16167)
25 }
26
27 type PreparedStatements_cockroach16167 struct {
28 session *Session_cockroach16167
29 }
30
31 func (ps PreparedStatements_cockroach16167) New(e *Executor_cockroach16167) {
32 e.Prepare(ps.session)
33 }
34
35 type Session_cockroach16167 struct {
36 PreparedStatements PreparedStatements_cockroach16167
37 }
38
39 func (s *Session_cockroach16167) resetForBatch(e *Executor_cockroach16167) {
40 e.getDatabaseCache()
41 }
42
43 type Executor_cockroach16167 struct {
44 systemConfigCond *sync.Cond
45 systemConfigMu sync.RWMutex
46 }
47
48 func (e *Executor_cockroach16167) Start() {
49 e.updateSystemConfig()
50 }
51
52 func (e *Executor_cockroach16167) execParsed(session *Session_cockroach16167) {
53 e.systemConfigCond.L.Lock()
54 runtime.Gosched()
55 defer e.systemConfigCond.L.Unlock()
56 runTxnAttempt_cockroach16167(e, session)
57 }
58
59 func (e *Executor_cockroach16167) execStmtsInCurrentTxn(session *Session_cockroach16167) {
60 e.execStmtInOpenTxn(session)
61 }
62
63 func (e *Executor_cockroach16167) execStmtInOpenTxn(session *Session_cockroach16167) {
64 session.PreparedStatements.New(e)
65 }
66
67 func (e *Executor_cockroach16167) Prepare(session *Session_cockroach16167) {
68 session.resetForBatch(e)
69 }
70
71 func (e *Executor_cockroach16167) getDatabaseCache() {
72 e.systemConfigMu.RLock()
73 defer e.systemConfigMu.RUnlock()
74 }
75
76 func (e *Executor_cockroach16167) updateSystemConfig() {
77 e.systemConfigMu.Lock()
78 runtime.Gosched()
79 defer e.systemConfigMu.Unlock()
80 }
81
82 func runTxnAttempt_cockroach16167(e *Executor_cockroach16167, session *Session_cockroach16167) {
83 e.execStmtsInCurrentTxn(session)
84 }
85
86 func NewExectorAndSession_cockroach16167() (*Executor_cockroach16167, *Session_cockroach16167) {
87 session := &Session_cockroach16167{}
88 session.PreparedStatements = PreparedStatements_cockroach16167{session}
89 e := &Executor_cockroach16167{}
90 return e, session
91 }
92
93 func Cockroach16167() {
94 prof := pprof.Lookup("goroutineleak")
95 defer func() {
96 time.Sleep(100 * time.Millisecond)
97 prof.WriteTo(os.Stdout, 2)
98 }()
99
100 for i := 0; i < 100; i++ {
101 go func() {
102 e, s := NewExectorAndSession_cockroach16167()
103 e.systemConfigCond = sync.NewCond(e.systemConfigMu.RLocker())
104 go e.Start()
105 e.execParsed(s)
106 }()
107 }
108 }
109
View as plain text