mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-10-08 11:57:51 +00:00
add primitive types to pg encoder
This commit is contained in:
parent
9b12c01c2b
commit
cfcc1da0bb
1 changed files with 45 additions and 0 deletions
45
server/pg.go
45
server/pg.go
|
|
@ -381,6 +381,51 @@ func pgWriteResult(w pg.QueryResultWriter, result interface{}) error {
|
|||
return pgWriteRowser(w, result)
|
||||
case pb.StreamClient:
|
||||
return pgWriteRowser(w, &clientRowser{result})
|
||||
case uint64:
|
||||
err := w.WriteHeader(pg.ColumnInfo{
|
||||
Name: "count",
|
||||
Type: pg.TypeCharoid,
|
||||
})
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "writing headers")
|
||||
}
|
||||
|
||||
err = w.WriteRowText(strconv.FormatUint(result, 10))
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "writing count")
|
||||
}
|
||||
|
||||
return nil
|
||||
case int64:
|
||||
err := w.WriteHeader(pg.ColumnInfo{
|
||||
Name: "value",
|
||||
Type: pg.TypeCharoid,
|
||||
})
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "writing headers")
|
||||
}
|
||||
|
||||
err = w.WriteRowText(strconv.FormatInt(result, 10))
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "writing count")
|
||||
}
|
||||
|
||||
return nil
|
||||
case bool:
|
||||
err := w.WriteHeader(pg.ColumnInfo{
|
||||
Name: "result",
|
||||
Type: pg.TypeCharoid,
|
||||
})
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "writing headers")
|
||||
}
|
||||
|
||||
err = w.WriteRowText(strconv.FormatBool(result))
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "writing count")
|
||||
}
|
||||
|
||||
return nil
|
||||
default:
|
||||
return errors.Errorf("result type %T not yet supported", result)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue