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

Function GetViewDefinition

backend/plugin/schema/pg/get_database_definition.go:559–586  ·  view source on GitHub ↗
(schema string, view *storepb.ViewMetadata)

Source from the content-addressed store, hash-verified

557}
558
559func GetViewDefinition(schema string, view *storepb.ViewMetadata) (string, error) {
560 var buf strings.Builder
561 if err := writeView(&buf, schema, view); err != nil {
562 return "", err
563 }
564 // Construct triggers.
565 for _, trigger := range view.Triggers {
566 if trigger.SkipDump {
567 continue
568 }
569 if err := writeTrigger(&buf, schema, view.Name, trigger); err != nil {
570 return "", err
571 }
572 }
573 // Construct rules (non-SELECT rules only, as SELECT rules are part of the view definition).
574 var nonSelectRules []*storepb.RuleMetadata
575 for _, rule := range view.Rules {
576 if rule.Event != "SELECT" {
577 nonSelectRules = append(nonSelectRules, rule)
578 }
579 }
580 if len(nonSelectRules) > 0 {
581 if err := writeRules(&buf, schema, view.Name, nonSelectRules); err != nil {
582 return "", err
583 }
584 }
585 return buf.String(), nil
586}
587
588func GetMaterializedViewDefinition(schema string, view *storepb.MaterializedViewMetadata) (string, error) {
589 var buf strings.Builder

Callers

nothing calls this directly

Calls 4

writeRulesFunction · 0.85
writeViewFunction · 0.70
writeTriggerFunction · 0.70
StringMethod · 0.65

Tested by

no test coverage detected