sqliteclidriver: better bubble up stderr errors
This commit is contained in:
parent
d359f42b24
commit
abcf7dbfe5
@ -18,6 +18,22 @@ type processEvent struct {
|
|||||||
err error
|
err error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (pe processEvent) Error() string {
|
||||||
|
if pe.err != nil {
|
||||||
|
return pe.err.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
if pe.evtype == evtypeStderr {
|
||||||
|
return string(pe.data)
|
||||||
|
}
|
||||||
|
|
||||||
|
return "<no error>"
|
||||||
|
}
|
||||||
|
|
||||||
|
func (pe processEvent) Unwrap() error {
|
||||||
|
return pe.err
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
||||||
func ExecEvents(cmd *exec.Cmd) (<-chan processEvent, io.WriteCloser, error) {
|
func ExecEvents(cmd *exec.Cmd) (<-chan processEvent, io.WriteCloser, error) {
|
||||||
|
@ -251,10 +251,11 @@ func (s *SCStmt) Query(args []driver.Value) (driver.Rows, error) {
|
|||||||
pw.CloseWithError(msg.err)
|
pw.CloseWithError(msg.err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// Anything else (process event / stderr)
|
// Anything else (process event / stderr)
|
||||||
// Throw
|
// Throw
|
||||||
pw.CloseWithError(fmt.Errorf("other thing %#v", msg))
|
pw.CloseWithError(msg)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user