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

Function splitMultipartIdentifier

backend/plugin/parser/tsql/completion.go:1416–1442  ·  view source on GitHub ↗
(text string)

Source from the content-addressed store, hash-verified

1414}
1415
1416func splitMultipartIdentifier(text string) []string {
1417 var parts []string
1418 var buf strings.Builder
1419 var bracket, quote bool
1420 for _, r := range text {
1421 switch r {
1422 case '[':
1423 bracket = true
1424 case ']':
1425 bracket = false
1426 case '"':
1427 quote = !quote
1428 case '.':
1429 if !bracket && !quote {
1430 parts = append(parts, buf.String())
1431 buf.Reset()
1432 continue
1433 }
1434 default:
1435 }
1436 buf.WriteRune(r)
1437 }
1438 if buf.Len() > 0 {
1439 parts = append(parts, buf.String())
1440 }
1441 return parts
1442}
1443
1444func splitTopLevelCSV(text string) []string {
1445 var parts []string

Callers 1

parseMultipartIdentifierFunction · 0.85

Calls 3

LenMethod · 0.80
StringMethod · 0.65
ResetMethod · 0.45

Tested by

no test coverage detected