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

Function writeEventTrigger

backend/plugin/schema/pg/get_database_definition.go:702–786  ·  view source on GitHub ↗
(out io.Writer, eventTrigger *storepb.EventTriggerMetadata)

Source from the content-addressed store, hash-verified

700}
701
702func writeEventTrigger(out io.Writer, eventTrigger *storepb.EventTriggerMetadata) error {
703 // Use the stored definition if available
704 if eventTrigger.Definition != "" {
705 if _, err := io.WriteString(out, eventTrigger.Definition); err != nil {
706 return err
707 }
708 if _, err := io.WriteString(out, ";\n\n"); err != nil {
709 return err
710 }
711 } else {
712 // Build the CREATE EVENT TRIGGER statement
713 if _, err := io.WriteString(out, `CREATE EVENT TRIGGER "`); err != nil {
714 return err
715 }
716 if _, err := io.WriteString(out, eventTrigger.Name); err != nil {
717 return err
718 }
719 if _, err := io.WriteString(out, `" ON `); err != nil {
720 return err
721 }
722 if _, err := io.WriteString(out, eventTrigger.Event); err != nil {
723 return err
724 }
725
726 // Add WHEN TAG IN clause if tags are specified
727 if len(eventTrigger.Tags) > 0 {
728 if _, err := io.WriteString(out, "\n WHEN TAG IN ("); err != nil {
729 return err
730 }
731 for i, tag := range eventTrigger.Tags {
732 if i > 0 {
733 if _, err := io.WriteString(out, ", "); err != nil {
734 return err
735 }
736 }
737 if _, err := io.WriteString(out, "'"); err != nil {
738 return err
739 }
740 if _, err := io.WriteString(out, tag); err != nil {
741 return err
742 }
743 if _, err := io.WriteString(out, "'"); err != nil {
744 return err
745 }
746 }
747 if _, err := io.WriteString(out, ")"); err != nil {
748 return err
749 }
750 }
751
752 // Add EXECUTE FUNCTION clause
753 if _, err := io.WriteString(out, "\n EXECUTE FUNCTION "); err != nil {
754 return err
755 }
756 if eventTrigger.FunctionSchema != "" {
757 if _, err := io.WriteString(out, `"`); err != nil {
758 return err
759 }

Callers 4

writeEventTriggerDiffFunction · 0.85
GetDatabaseDefinitionFunction · 0.85
getSDLFormatFunction · 0.85

Calls 1

writeEventTriggerCommentFunction · 0.85

Tested by

no test coverage detected