MCPcopy Create free account
hub / github.com/bytebase/bytebase / Check

Function Check

backend/plugin/advisor/advisor.go:151–177  ·  view source on GitHub ↗

Check runs the advisor and returns the advices.

(ctx context.Context, dbType storepb.Engine, ruleType storepb.SQLReviewRule_Type, checkCtx Context)

Source from the content-addressed store, hash-verified

149
150// Check runs the advisor and returns the advices.
151func Check(ctx context.Context, dbType storepb.Engine, ruleType storepb.SQLReviewRule_Type, checkCtx Context) (adviceList []*storepb.Advice, err error) {
152 defer func() {
153 if panicErr := recover(); panicErr != nil {
154 panicErr, ok := panicErr.(error)
155 if !ok {
156 panicErr = errors.Errorf("%v", panicErr)
157 }
158 err = errors.Errorf("advisor check PANIC RECOVER, type: %v, err: %v", ruleType, panicErr)
159
160 slog.Error("advisor check PANIC RECOVER", log.BBError(panicErr), log.BBStack("panic-stack"))
161 }
162 }()
163
164 advisorMu.RLock()
165 dbAdvisors, ok := advisors[dbType]
166 defer advisorMu.RUnlock()
167 if !ok {
168 return nil, errors.Errorf("advisor: unknown db advisor type %v", dbType)
169 }
170
171 f, ok := dbAdvisors[ruleType]
172 if !ok {
173 return nil, errors.Errorf("advisor: unknown advisor %v for %v", ruleType, dbType)
174 }
175
176 return f.Check(ctx, checkCtx)
177}

Callers 1

SQLReviewCheckFunction · 0.85

Calls 5

BBErrorFunction · 0.92
BBStackFunction · 0.92
ErrorfMethod · 0.80
CheckMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected