summaryrefslogtreecommitdiff
path: root/internal/mapr/setclause.go
blob: bd0214291dc8c74b3d16da1129c50429c17a1ef0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package mapr

// SetClause interprets the set clause of the mapreduce query.
func (q *Query) SetClause(fields map[string]string) error {
	for _, sc := range q.Set {
		value, ok := fields[sc.rString]
		if !ok {
			value = sc.rString
		}
		switch sc.rType {
		case FunctionStack:
			fields[sc.lString] = sc.functionStack.Call(value)
		default:
			fields[sc.lString] = value
		}
	}
	return nil
}