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

Method handleStmtSendLongData

IceFireDB-SQLite/pkg/mysql/server/stmt.go:295–324  ·  view source on GitHub ↗

stmt send long data command has no response

(data []byte)

Source from the content-addressed store, hash-verified

293
294// stmt send long data command has no response
295func (c *Conn) handleStmtSendLongData(data []byte) error {
296 if len(data) < 6 {
297 return nil
298 }
299
300 id := binary.LittleEndian.Uint32(data[0:4])
301
302 s, ok := c.stmts[id]
303 if !ok {
304 return nil
305 }
306
307 paramId := binary.LittleEndian.Uint16(data[4:6])
308 if paramId >= uint16(s.Params) {
309 return nil
310 }
311
312 if s.Args[paramId] == nil {
313 s.Args[paramId] = data[6:]
314 } else {
315 if b, ok := s.Args[paramId].([]byte); ok {
316 b = append(b, data[6:]...)
317 s.Args[paramId] = b
318 } else {
319 return nil
320 }
321 }
322
323 return nil
324}
325
326func (c *Conn) handleStmtReset(data []byte) (*Result, error) {
327 if len(data) < 4 {

Callers 1

dispatchMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected