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

Method insertAllColumns

backend/plugin/parser/mysql/completion.go:314–348  ·  view source on GitHub ↗
(c *Completer)

Source from the content-addressed store, hash-verified

312}
313
314func (m CompletionMap) insertAllColumns(c *Completer) {
315 if _, exists := c.metadataCache[c.defaultDatabase]; !exists {
316 _, metadata, err := c.getMetadata(c.ctx, c.instanceID, c.defaultDatabase)
317 if err != nil || metadata == nil {
318 return
319 }
320 c.metadataCache[c.defaultDatabase] = metadata
321 }
322
323 metadata := c.metadataCache[c.defaultDatabase]
324 for _, schema := range metadata.ListSchemaNames() {
325 schemaMeta := metadata.GetSchemaMetadata(schema)
326 if schemaMeta == nil {
327 continue
328 }
329 for _, table := range schemaMeta.ListTableNames() {
330 tableMeta := schemaMeta.GetTable(table)
331 if tableMeta == nil {
332 continue
333 }
334 for _, column := range tableMeta.GetProto().GetColumns() {
335 definition := fmt.Sprintf("%s | %s", table, column.Type)
336 if !column.Nullable {
337 definition += ", NOT NULL"
338 }
339 m.Insert(base.Candidate{
340 Type: base.CandidateTypeColumn,
341 Text: c.quotedIdentifierIfNeeded(column.Name),
342 Definition: definition,
343 Comment: column.Comment,
344 })
345 }
346 }
347 }
348}
349
350func (m CompletionMap) toSlice() []base.Candidate {
351 var result []base.Candidate

Callers 1

convertCandidatesMethod · 0.45

Calls 8

InsertMethod · 0.95
ListSchemaNamesMethod · 0.80
GetSchemaMetadataMethod · 0.80
ListTableNamesMethod · 0.80
GetTableMethod · 0.45
GetColumnsMethod · 0.45
GetProtoMethod · 0.45

Tested by

no test coverage detected