github.com/ravendb/ravendb-go-client@v0.0.0-20240229102137-4474ee7aa0fa/group_by_sum_token.go (about) 1 package ravendb 2 3 import "strings" 4 5 var _ queryToken = &groupBySumToken{} 6 7 type groupBySumToken struct { 8 projectedName string 9 fieldName string 10 } 11 12 func newGroupBySumToken(fieldName string, projectedName string) *groupBySumToken { 13 return &groupBySumToken{ 14 fieldName: fieldName, 15 projectedName: projectedName, 16 } 17 } 18 19 func createGroupBySumToken(fieldName string, projectedName string) *groupBySumToken { 20 return newGroupBySumToken(fieldName, projectedName) 21 } 22 23 func (t *groupBySumToken) writeTo(writer *strings.Builder) error { 24 writer.WriteString("sum(") 25 writer.WriteString(t.fieldName) 26 writer.WriteString(")") 27 28 if t.projectedName == "" { 29 return nil 30 } 31 32 writer.WriteString(" as ") 33 writer.WriteString(t.projectedName) 34 return nil 35 }