Include "distance" to output when user specifically requests

fixes #599
This commit is contained in:
tidwall 2021-03-30 11:49:01 -07:00
parent 84a5120bc3
commit 40105e6b7e
3 changed files with 10 additions and 7 deletions

View File

@ -172,11 +172,12 @@ func fenceMatch(
sw.fullFields = true
sw.msg.OutputType = JSON
sw.writeObject(ScanWriterParams{
id: details.id,
o: details.obj,
fields: details.fields,
noLock: true,
distance: distance,
id: details.id,
o: details.obj,
fields: details.fields,
noLock: true,
distance: distance,
distOutput: fence.distance,
})
if sw.wr.Len() == 0 {

View File

@ -66,6 +66,7 @@ type ScanWriterParams struct {
o geojson.Object
fields []float64
distance float64
distOutput bool // query or fence requested distance output
noLock bool
ignoreGlobMatch bool
clip geojson.Object
@ -433,7 +434,7 @@ func (sw *scanWriter) writeObject(opts ScanWriterParams) bool {
wr.WriteString(jsfields)
if opts.distance > 0 {
if opts.distOutput || opts.distance > 0 {
wr.WriteString(`,"distance":` + strconv.FormatFloat(opts.distance, 'f', -1, 64))
}
@ -496,7 +497,7 @@ func (sw *scanWriter) writeObject(opts ScanWriterParams) bool {
vals = append(vals, resp.ArrayValue(fvals))
}
}
if opts.distance > 0 {
if opts.distOutput || opts.distance > 0 {
vals = append(vals, resp.FloatValue(opts.distance))
}

View File

@ -380,6 +380,7 @@ func (server *Server) cmdNearby(msg *Message) (res resp.Value, err error) {
o: o,
fields: fields,
distance: meters,
distOutput: s.distance,
noLock: true,
ignoreGlobMatch: true,
skipTesting: true,