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

Function GetQuerySpan

backend/plugin/parser/redshift/query_span.go:17–37  ·  view source on GitHub ↗

GetQuerySpan returns the query span for the given statement.

(ctx context.Context, gCtx base.GetQuerySpanContext, stmt base.Statement, database, schema string, _ bool)

Source from the content-addressed store, hash-verified

15
16// GetQuerySpan returns the query span for the given statement.
17func GetQuerySpan(ctx context.Context, gCtx base.GetQuerySpanContext, stmt base.Statement, database, schema string, _ bool) (*base.QuerySpan, error) {
18 if gCtx.GetDatabaseMetadataFunc == nil {
19 return nil, errors.New("GetDatabaseMetadataFunc is not set in GetQuerySpanContext")
20 }
21 _, meta, err := gCtx.GetDatabaseMetadataFunc(ctx, gCtx.InstanceID, database)
22 if err != nil {
23 return nil, errors.Wrapf(err, "failed to get database metadata for instance %q and database %q", gCtx.InstanceID, database)
24 }
25 searchPath := meta.GetSearchPath()
26 if schema != "" {
27 searchPath = []string{schema}
28 }
29 extractor := newOmniQuerySpanExtractor(database, searchPath, gCtx)
30
31 querySpan, err := extractor.getOmniQuerySpan(ctx, stmt.Text)
32 if err != nil {
33 err = convertOmniError(err, stmt)
34 return nil, errors.Wrapf(err, "failed to get query span from statement: %s", stmt.Text)
35 }
36 return querySpan, nil
37}

Calls 5

convertOmniErrorFunction · 0.70
GetSearchPathMethod · 0.45
getOmniQuerySpanMethod · 0.45