MCPcopy Index your code
hub / github.com/bytebase/bytebase / GetQuerySpan

Function GetQuerySpan

backend/plugin/parser/elasticsearch/query_span.go:18–49  ·  view source on GitHub ↗

GetQuerySpan returns the query span for an ElasticSearch REST API request.

(
	_ context.Context,
	_ base.GetQuerySpanContext,
	stmt base.Statement,
	_, _ string,
	_ bool,
)

Source from the content-addressed store, hash-verified

16
17// GetQuerySpan returns the query span for an ElasticSearch REST API request.
18func GetQuerySpan(
19 _ context.Context,
20 _ base.GetQuerySpanContext,
21 stmt base.Statement,
22 _, _ string,
23 _ bool,
24) (*base.QuerySpan, error) {
25 omniSpan, err := es.GetQuerySpan(stmt.Text)
26 if err != nil {
27 return nil, err
28 }
29 if omniSpan == nil {
30 return &base.QuerySpan{Type: base.QueryTypeUnknown}, nil
31 }
32
33 span := &base.QuerySpan{
34 Type: convertQueryType(omniSpan.Type),
35 }
36
37 if omniSpan.ElasticsearchAnalysis != nil {
38 span.ElasticsearchAnalysis = convertAnalysis(omniSpan.ElasticsearchAnalysis)
39 }
40
41 if omniSpan.PredicatePaths != nil {
42 span.PredicatePaths = make(map[string]*base.PathAST, len(omniSpan.PredicatePaths))
43 for key, p := range omniSpan.PredicatePaths {
44 span.PredicatePaths[key] = convertPathAST(p)
45 }
46 }
47
48 return span, nil
49}
50
51// convertPathAST converts an omni PathAST to a bytebase base.PathAST.
52func convertPathAST(p *es.PathAST) *base.PathAST {

Callers 3

TestGetQuerySpanFunction · 0.70
TestGetQuerySpan_ErrorFunction · 0.70

Calls 4

convertQueryTypeFunction · 0.85
convertAnalysisFunction · 0.85
convertPathASTFunction · 0.85
GetQuerySpanMethod · 0.80

Tested by 3

TestGetQuerySpanFunction · 0.56
TestGetQuerySpan_ErrorFunction · 0.56