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

Method ColumnTopK

runtime/server/queries_columns.go:14–64  ·  view source on GitHub ↗
(ctx context.Context, req *runtimev1.ColumnTopKRequest)

Source from the content-addressed store, hash-verified

12)
13
14func (s *Server) ColumnTopK(ctx context.Context, req *runtimev1.ColumnTopKRequest) (*runtimev1.ColumnTopKResponse, error) {
15 observability.AddRequestAttributes(ctx,
16 attribute.String("args.instance_id", req.InstanceId),
17 attribute.String("args.connector", req.Connector),
18 attribute.String("args.database", req.Database),
19 attribute.String("args.database_schema", req.DatabaseSchema),
20 attribute.String("args.table", req.TableName),
21 attribute.String("args.column", req.ColumnName),
22 attribute.Int("args.k", int(req.K)),
23 attribute.Int("args.priority", int(req.Priority)),
24 )
25
26 s.addInstanceRequestAttributes(ctx, req.InstanceId)
27
28 if !auth.GetClaims(ctx, req.InstanceId).Can(runtime.ReadProfiling) {
29 return nil, ErrForbidden
30 }
31
32 agg := "count(*)"
33 if req.Agg != "" {
34 agg = req.Agg
35 }
36
37 k := 50
38 if req.K != 0 {
39 k = int(req.K)
40 }
41
42 q := &queries.ColumnTopK{
43 Connector: req.Connector,
44 Database: req.Database,
45 DatabaseSchema: req.DatabaseSchema,
46 TableName: req.TableName,
47 ColumnName: req.ColumnName,
48 Agg: agg,
49 K: k,
50 }
51
52 err := s.runtime.Query(ctx, req.InstanceId, q, int(req.Priority))
53 if err != nil {
54 return nil, err
55 }
56
57 return &runtimev1.ColumnTopKResponse{
58 CategoricalSummary: &runtimev1.CategoricalSummary{
59 Case: &runtimev1.CategoricalSummary_TopK{
60 TopK: q.Result,
61 },
62 },
63 }, nil
64}
65
66func (s *Server) ColumnNullCount(ctx context.Context, req *runtimev1.ColumnNullCountRequest) (*runtimev1.ColumnNullCountResponse, error) {
67 observability.AddRequestAttributes(ctx,

Callers 1

forwardQueryMethod · 0.95

Calls 6

AddRequestAttributesFunction · 0.92
GetClaimsFunction · 0.92
CanMethod · 0.80
StringMethod · 0.65
QueryMethod · 0.65

Tested by

no test coverage detected