(out *strings.Builder, viewDiff *schema.ViewDiff)
| 1904 | } |
| 1905 | |
| 1906 | func 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 | |
| 1938 | func writeDropView(out *strings.Builder, schemaName, viewName string) error { |
| 1939 | _, err := fmt.Fprintf(out, "DROP VIEW \"%s\".\"%s\";\n\n", schemaName, viewName) |
no test coverage detected