| 579 | } |
| 580 | |
| 581 | func parseSourceNamesFromIndexDefs(indexDef *cbgt.IndexDef) []string { |
| 582 | if len(indexDef.Params) > 0 { |
| 583 | bleveParamBytes := []byte(indexDef.Params) |
| 584 | docConfig, _, _, err := jsonparser.Get(bleveParamBytes, "doc_config") |
| 585 | if err != nil { |
| 586 | return []string{indexDef.SourceName + "." + defaultScopeName + |
| 587 | "." + defaultCollName} |
| 588 | } |
| 589 | |
| 590 | docConfigMode, _, _, _ := jsonparser.Get(docConfig, "mode") |
| 591 | if strings.HasPrefix(string(docConfigMode), "scope.collection") { |
| 592 | bmapping, _, _, err := jsonparser.Get(bleveParamBytes, "mapping") |
| 593 | if err != nil { |
| 594 | return nil |
| 595 | } |
| 596 | |
| 597 | mapping := bleve.NewIndexMapping() |
| 598 | err = json.Unmarshal(bmapping, mapping) |
| 599 | if err != nil { |
| 600 | return nil |
| 601 | } |
| 602 | |
| 603 | sname, colNames, _, err := getScopeCollTypeMappings(mapping, true) |
| 604 | if err != nil { |
| 605 | return nil |
| 606 | } |
| 607 | |
| 608 | var rv []string |
| 609 | for _, cname := range colNames { |
| 610 | rv = append(rv, indexDef.SourceName+"."+sname+"."+cname) |
| 611 | } |
| 612 | sort.Strings(rv) |
| 613 | return rv |
| 614 | } |
| 615 | } |
| 616 | |
| 617 | if indexDef.SourceName != "" { |
| 618 | return []string{indexDef.SourceName + "." + defaultScopeName + |
| 619 | "." + defaultCollName} |
| 620 | } |
| 621 | |
| 622 | return nil |
| 623 | } |