(out io.Writer, schema string, enum *storepb.EnumTypeMetadata)
| 811 | } |
| 812 | |
| 813 | func writeEnum(out io.Writer, schema string, enum *storepb.EnumTypeMetadata) error { |
| 814 | if _, err := io.WriteString(out, `CREATE TYPE "`); err != nil { |
| 815 | return err |
| 816 | } |
| 817 | if _, err := io.WriteString(out, schema); err != nil { |
| 818 | return err |
| 819 | } |
| 820 | if _, err := io.WriteString(out, `"."`); err != nil { |
| 821 | return err |
| 822 | } |
| 823 | if _, err := io.WriteString(out, enum.Name); err != nil { |
| 824 | return err |
| 825 | } |
| 826 | if _, err := io.WriteString(out, "\" AS ENUM (\n"); err != nil { |
| 827 | return err |
| 828 | } |
| 829 | for i, value := range enum.Values { |
| 830 | if i > 0 { |
| 831 | if _, err := io.WriteString(out, ",\n"); err != nil { |
| 832 | return err |
| 833 | } |
| 834 | } |
| 835 | if _, err := io.WriteString(out, ` '`); err != nil { |
| 836 | return err |
| 837 | } |
| 838 | if _, err := io.WriteString(out, escapeSingleQuote(value)); err != nil { |
| 839 | return err |
| 840 | } |
| 841 | if _, err := io.WriteString(out, `'`); err != nil { |
| 842 | return err |
| 843 | } |
| 844 | } |
| 845 | |
| 846 | if _, err := io.WriteString(out, "\n)"); err != nil { |
| 847 | return err |
| 848 | } |
| 849 | |
| 850 | return nil |
| 851 | } |
| 852 | |
| 853 | func escapeSingleQuote(s string) string { |
| 854 | return strings.ReplaceAll(s, "'", "''") |
no test coverage detected