(out io.Writer, eventTrigger *storepb.EventTriggerMetadata)
| 700 | } |
| 701 | |
| 702 | func 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 | } |
no test coverage detected