{{/* Copyright 2019-present Facebook Inc. All rights reserved. This source code is licensed under the Apache 2.0 license found in the LICENSE file in the root directory of this source tree. */}} {{ define "dialect/sql/order" -}} {{- $f := $.Scope.Func -}} func(s *sql.Selector) { for _, f := range fields { s.OrderBy(sql.{{ $f }}(f)) } } {{- end }} {{/* custom signature for group-by function */}} {{ define "dialect/sql/group/signature" -}} type AggregateFunc func(*sql.Selector) string {{- end }} {{ define "dialect/sql/group/as" -}} func(s *sql.Selector) string { return sql.As(fn(s), end) } {{- end }} {{ define "dialect/sql/group/func" -}} {{- $fn := $.Scope.Func -}} {{- $withField := $.Scope.WithField -}} func(s *sql.Selector) string { return sql.{{ if eq $fn "Mean" }}Avg{{ else }}{{ $fn }}{{ end }}({{ if $withField }}s.C(field){{ else }}"*"{{ end }}) } {{- end }}