MCPcopy Create free account
hub / github.com/rilldata/rill / ConvertExpressionToMetricsSQL

Method ConvertExpressionToMetricsSQL

runtime/server/queries_metrics.go:728–749  ·  view source on GitHub ↗

ConvertExpressionToMetricsSQL implements QueryService.

(ctx context.Context, req *runtimev1.ConvertExpressionToMetricsSQLRequest)

Source from the content-addressed store, hash-verified

726
727// ConvertExpressionToMetricsSQL implements QueryService.
728func (s *Server) ConvertExpressionToMetricsSQL(ctx context.Context, req *runtimev1.ConvertExpressionToMetricsSQLRequest) (*runtimev1.ConvertExpressionToMetricsSQLResponse, error) {
729 observability.AddRequestAttributes(ctx,
730 attribute.String("args.instance_id", req.InstanceId),
731 )
732
733 s.addInstanceRequestAttributes(ctx, req.InstanceId)
734
735 claims := auth.GetClaims(ctx, req.InstanceId)
736 if !claims.Can(runtime.ReadMetrics) {
737 return nil, ErrForbidden
738 }
739
740 expr := metricsview.NewExpressionFromProto(req.Expression)
741 sql, err := metricsview.ExpressionToSQL(expr)
742 if err != nil {
743 return nil, err
744 }
745
746 return &runtimev1.ConvertExpressionToMetricsSQLResponse{
747 Sql: sql,
748 }, nil
749}
750
751func resolveMVAndSecurity(ctx context.Context, rt *runtime.Runtime, instanceID, metricsViewName string) (*runtimev1.MetricsViewState, *runtime.ResolvedSecurity, error) {
752 res, mv, err := lookupMetricsView(ctx, rt, instanceID, metricsViewName)

Callers

nothing calls this directly

Calls 7

AddRequestAttributesFunction · 0.92
GetClaimsFunction · 0.92
NewExpressionFromProtoFunction · 0.92
ExpressionToSQLFunction · 0.92
CanMethod · 0.80
StringMethod · 0.65

Tested by

no test coverage detected