MCPcopy
hub / github.com/pingcap/tidb / nextRows

Method nextRows

dumpling/export/ir_impl.go:78–117  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

76}
77
78func (iter *multiQueriesChunkIter) nextRows() {
79 if iter.id >= len(iter.queries) {
80 iter.hasNext = false
81 return
82 }
83 var err error
84 defer func() {
85 if err != nil {
86 iter.hasNext = false
87 iter.err = errors.Trace(err)
88 }
89 }()
90 tctx, conn := iter.tctx, iter.conn
91 // avoid the empty chunk
92 for iter.id < len(iter.queries) {
93 rows := iter.rows
94 if rows != nil {
95 if err = rows.Close(); err != nil {
96 return
97 }
98 if err = rows.Err(); err != nil {
99 return
100 }
101 }
102 tctx.L().Debug("try to start nextRows", zap.String("query", iter.queries[iter.id]))
103 rows, err = conn.QueryContext(tctx, iter.queries[iter.id])
104 if err != nil {
105 return
106 }
107 if err = rows.Err(); err != nil {
108 return
109 }
110 iter.id++
111 iter.rows = rows
112 iter.hasNext = iter.rows.Next()
113 if iter.hasNext {
114 return
115 }
116 }
117}
118
119func (iter *multiQueriesChunkIter) Close() error {
120 if iter.err != nil {

Callers 2

newMultiQueryChunkIterFunction · 0.95
NextMethod · 0.95

Calls 5

CloseMethod · 0.65
StringMethod · 0.65
QueryContextMethod · 0.65
NextMethod · 0.65
LMethod · 0.45

Tested by

no test coverage detected