Continue receiving and ignoring messages on SelectFunc until readyForQuery

pgx-vs-pq
Jack Christensen 2013-07-08 16:17:40 -05:00
parent b8be47feb8
commit a6e742db24
1 changed files with 5 additions and 14 deletions

View File

@ -128,33 +128,24 @@ func (c *Connection) SelectFunc(sql string, onDataRow func(*DataRowReader) error
return
}
var callbackError error
for {
var t byte
var r *MessageReader
if t, r, err = c.rxMsg(); err == nil {
if t, r, rxErr := c.rxMsg(); rxErr == nil {
switch t {
case readyForQuery:
if err == nil {
err = callbackError
}
return
case rowDescription:
fields = c.rxRowDescription(r)
case dataRow:
if callbackError == nil {
callbackError = onDataRow(newDataRowReader(r, fields))
if err == nil {
err = onDataRow(newDataRowReader(r, fields))
}
case commandComplete:
case bindComplete:
default:
if err = c.processContextFreeMsg(t, r); err != nil {
return
}
err = c.processContextFreeMsg(t, r)
}
} else {
return
return rxErr
}
}
}