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

Function writeEnum

backend/plugin/schema/pg/get_database_definition.go:813–851  ·  view source on GitHub ↗
(out io.Writer, schema string, enum *storepb.EnumTypeMetadata)

Source from the content-addressed store, hash-verified

811}
812
813func 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
853func escapeSingleQuote(s string) string {
854 return strings.ReplaceAll(s, "'", "''")

Callers 5

writeEnumTypeDiffFunction · 0.85
GetDatabaseDefinitionFunction · 0.85
GetSchemaDefinitionFunction · 0.85
getSDLFormatFunction · 0.85

Calls 1

escapeSingleQuoteFunction · 0.85

Tested by

no test coverage detected