pingcap/tidb

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

Open

#4,983 创建于 2017年11月2日

在 GitHub 查看
 (1 评论) (0 反应) (1 负责人)Go (6,186 fork)batch import
help wanted

仓库指标

Star
 (40,090 star)
PR 合并指标
 (平均合并 14天 4小时) (30 天内合并 346 个 PR)

描述

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

贡献者指南