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

Function writeViewDiff

backend/plugin/schema/pg/metadata_migration.go:1906–1936  ·  view source on GitHub ↗
(out *strings.Builder, viewDiff *schema.ViewDiff)

Source from the content-addressed store, hash-verified

1904}
1905
1906func writeViewDiff(out *strings.Builder, viewDiff *schema.ViewDiff) error {
1907 switch viewDiff.Action {
1908 case schema.MetadataDiffActionCreate:
1909 if err := writeViewSDL(out, viewDiff.SchemaName, viewDiff.NewView); err != nil {
1910 return err
1911 }
1912 if _, err := out.WriteString(";\n\n"); err != nil {
1913 return err
1914 }
1915 if viewDiff.NewView.GetComment() != "" {
1916 return writeComment(out, fmt.Sprintf(viewCommentObjectFormat, viewDiff.SchemaName, viewDiff.ViewName), viewDiff.NewView.GetComment())
1917 }
1918 return nil
1919 case schema.MetadataDiffActionAlter:
1920 definition := strings.TrimSuffix(strings.TrimSpace(viewDiff.NewView.Definition), ";")
1921 if _, err := fmt.Fprintf(out, "CREATE OR REPLACE VIEW \"%s\".\"%s\" AS %s", viewDiff.SchemaName, viewDiff.ViewName, definition); err != nil {
1922 return err
1923 }
1924 if _, err := out.WriteString(";\n\n"); err != nil {
1925 return err
1926 }
1927 if viewDiff.NewView.GetComment() != "" {
1928 return writeComment(out, fmt.Sprintf(viewCommentObjectFormat, viewDiff.SchemaName, viewDiff.ViewName), viewDiff.NewView.GetComment())
1929 }
1930 return nil
1931 case schema.MetadataDiffActionDrop:
1932 return writeDropView(out, viewDiff.SchemaName, viewDiff.ViewName)
1933 default:
1934 return nil
1935 }
1936}
1937
1938func writeDropView(out *strings.Builder, schemaName, viewName string) error {
1939 _, err := fmt.Fprintf(out, "DROP VIEW \"%s\".\"%s\";\n\n", schemaName, viewName)

Calls 4

writeViewSDLFunction · 0.85
writeCommentFunction · 0.85
writeDropViewFunction · 0.70
GetCommentMethod · 0.45

Tested by

no test coverage detected