lib/metricsql: export IsRollupFunc and IsTransformFunc, since they can be used by package users

This commit is contained in:
Aliaksandr Valialkin 2020-01-04 13:24:57 +02:00
parent 4567a59fa0
commit d9c4ac9978
3 changed files with 9 additions and 6 deletions

View file

@ -261,7 +261,7 @@ func (p *parser) parseWithArgExpr() (*withArgExpr, error) {
return nil, fmt.Errorf(`withArgExpr: unexpected token %q; want "ident"`, p.lex.Token)
}
wa.Name = p.lex.Token
if isAggrFunc(wa.Name) || isRollupFunc(wa.Name) || isTransformFunc(wa.Name) || isWith(wa.Name) {
if isAggrFunc(wa.Name) || IsRollupFunc(wa.Name) || IsTransformFunc(wa.Name) || isWith(wa.Name) {
return nil, fmt.Errorf(`withArgExpr: cannot use reserved name %q`, wa.Name)
}
if err := p.lex.Next(); err != nil {

View file

@ -53,7 +53,8 @@ var rollupFuncs = map[string]bool{
"rollup_candlestick": true,
}
func isRollupFunc(funcName string) bool {
funcName = strings.ToLower(funcName)
return rollupFuncs[funcName]
// IsRollupFunc returns whether funcName is known rollup function.
func IsRollupFunc(funcName string) bool {
s := strings.ToLower(funcName)
return rollupFuncs[s]
}

View file

@ -75,7 +75,9 @@ var transformFuncs = map[string]bool{
"histogram_share": true,
}
func isTransformFunc(s string) bool {
s = strings.ToLower(s)
// IsTransformFunc returns whether funcName is known transform function.
func IsTransformFunc(funcName string) bool {
s := strings.ToLower(funcName)
return transformFuncs[s]
}