pingcap/tidb

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

Open

#4.983 aberto em 2 de nov. de 2017

Ver no GitHub
 (1 comment) (0 reactions) (1 assignee)Go (6.186 forks)batch import
help wanted

Métricas do repositório

Stars
 (40.090 stars)
Métricas de merge de PR
 (Mesclagem média 14d 4h) (346 fundiu PRs em 30d)

Description

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

Guia do colaborador