(text string)
| 1396 | } |
| 1397 | |
| 1398 | func parseMultipartIdentifier(text string) (string, string, string) { |
| 1399 | parts := splitMultipartIdentifier(text) |
| 1400 | for i, part := range parts { |
| 1401 | original, _ := NormalizeTSQLIdentifierText(unquoteDoubleQuoted(strings.TrimSpace(part))) |
| 1402 | parts[i] = original |
| 1403 | } |
| 1404 | switch len(parts) { |
| 1405 | case 0: |
| 1406 | return "", "", "" |
| 1407 | case 1: |
| 1408 | return "", "", parts[0] |
| 1409 | case 2: |
| 1410 | return "", parts[0], parts[1] |
| 1411 | default: |
| 1412 | return parts[len(parts)-3], parts[len(parts)-2], parts[len(parts)-1] |
| 1413 | } |
| 1414 | } |
| 1415 | |
| 1416 | func splitMultipartIdentifier(text string) []string { |
| 1417 | var parts []string |
no test coverage detected