MCPcopy
hub / github.com/go-sql-driver/mysql / nextResultSet

Method nextResultSet

rows.go:136–166  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

134}
135
136func (rows *mysqlRows) nextResultSet() (int, error) {
137 if rows.mc == nil {
138 return 0, io.EOF
139 }
140 if err := rows.mc.error(); err != nil {
141 return 0, err
142 }
143
144 // Remove unread packets from stream
145 if !rows.rs.done {
146 if err := rows.mc.skipRows(); err != nil {
147 return 0, err
148 }
149 rows.rs.done = true
150 }
151
152 if !rows.HasNextResultSet() {
153 rows.mc = nil
154 return 0, io.EOF
155 }
156 rows.rs = resultSet{}
157 // rows.mc.affectedRows and rows.mc.insertIds accumulate on each call to
158 // nextResultSet.
159 resLen, _, err := rows.mc.resultUnchanged().readResultSetHeaderPacket()
160 if err != nil {
161 // Clean up about multi-results flag
162 rows.rs.done = true
163 rows.mc.status = rows.mc.status & (^statusMoreResultsExists)
164 }
165 return resLen, err
166}
167
168func (rows *mysqlRows) nextNotEmptyResultSet() (int, error) {
169 for {

Callers 1

nextNotEmptyResultSetMethod · 0.95

Calls 5

HasNextResultSetMethod · 0.95
errorMethod · 0.80
skipRowsMethod · 0.80
resultUnchangedMethod · 0.80

Tested by

no test coverage detected