for _, pair := range pairs { nestItem := pair.Value var nv value.AnnotatedValue // Apply projection, if any if projection != nil { projectedItem, e := projection.Evaluate(nestItem, context) if e != nil { context.Error(errors.NewEvaluationError(e, "nest path")) return nil, false } if projectedItem.Type() == value.MISSING { continue } nv = value.NewAnnotatedValue(projectedItem) nv.SetAnnotations(nestItem) } else { nv = nestItem } nvs = append(nvs, nv) } return nvs, fetchOk } var _INDEX_ENTRY_POOL = datastore.NewIndexEntryPool(16) var _NEST_INDEX_STRING_POOL = util.NewStringPool(16)
// and limitations under the License. package execution import ( "github.com/couchbase/query/util" "github.com/couchbase/query/value" ) func notifyChildren(children ...Operator) { for _, child := range children { if child != nil { select { case child.StopChannel() <- false: default: } } } } func copyOperator(op Operator) Operator { if op == nil { return nil } else { return op.Copy() } } var _STRING_POOL = util.NewStringPool(_BATCH_SIZE) var _STRING_ANNOTATED_POOL = value.NewStringAnnotatedPool(_BATCH_SIZE)