pingcap/tidb

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

Open

#4,983 opened on 2017年11月2日

GitHub で見る
 (1 comment) (0 reactions) (1 assignee)Go (6,186 forks)batch import
help wanted

Repository metrics

Stars
 (40,090 stars)
PR merge metrics
 (平均マージ 14d 4h) (30d で 346 merged PRs)

説明

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

コントリビューターガイド