MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / readResultsetStreaming

Method readResultsetStreaming

IceFireDB-SQLite/pkg/mysql/client/resp.go:298–321  ·  view source on GitHub ↗
(data []byte, binary bool, result *Result, perRowCb SelectPerRowCallback)

Source from the content-addressed store, hash-verified

296}
297
298func (c *Conn) readResultsetStreaming(data []byte, binary bool, result *Result, perRowCb SelectPerRowCallback) error {
299 columnCount, _, n := LengthEncodedInt(data)
300
301 if n-len(data) != 0 {
302 return ErrMalformPacket
303 }
304
305 if result.Resultset == nil {
306 result.Resultset = NewResultset(int(columnCount))
307 } else {
308 // Reuse memory if can
309 result.Reset(int(columnCount))
310 }
311
312 if err := c.readResultColumns(result); err != nil {
313 return errors.Trace(err)
314 }
315
316 if err := c.readResultRowsStreaming(result, binary, perRowCb); err != nil {
317 return errors.Trace(err)
318 }
319
320 return nil
321}
322
323func (c *Conn) readResultColumns(result *Result) (err error) {
324 var i int = 0

Callers 1

readResultStreamingMethod · 0.95

Calls 5

readResultColumnsMethod · 0.95
LengthEncodedIntFunction · 0.50
NewResultsetFunction · 0.50
ResetMethod · 0.45

Tested by

no test coverage detected