pingcap/tidb

executor.Next() should not call chid.Open() or child.Close()

Open

#4983 aperta il 2 nov 2017

Vedi su GitHub
 (1 commento) (0 reazioni) (1 assegnatario)Go (6186 fork)batch import
help wanted

Metriche repository

Star
 (40.090 star)
Metriche merge PR
 (Merge medio 14g 4h) (346 PR mergiate in 30 g)

Descrizione

calling Open() or Close() during Next() makes our executors un-maintainable, for example, if we comment out the following lines then make test, our ut failes ... https://github.com/pingcap/tidb/blob/0616a2fd1511e2206086c212261d93b1106605c7/executor/executor.go#L345

or https://github.com/pingcap/tidb/blob/0616a2fd1511e2206086c212261d93b1106605c7/executor/join.go#L88

Open is used to initialize executors and allocate resources for every executor Close is used to deallocate the resource adopted by every executor, avoid memory leak

Guida contributor