func (s *ShowTriggers) RowIter(ctx *sql.Context, row sql.Row) (sql.RowIter, error) {
	var rows []sql.Row
	for _, trigger := range s.Triggers {
		triggerEvent := strings.ToUpper(trigger.TriggerEvent)
		triggerTime := strings.ToUpper(trigger.TriggerTime)
		tableName := trigger.Table.(*UnresolvedTable).Name()
		characterSetClient, err := ctx.GetSessionVariable(ctx, "character_set_client")
		if err != nil {
			return nil, err
		}
		collationConnection, err := ctx.GetSessionVariable(ctx, "collation_connection")
		if err != nil {
			return nil, err
		}
		collationServer, err := ctx.GetSessionVariable(ctx, "collation_server")
		if err != nil {
			return nil, err
		}
		rows = append(rows, sql.Row{
			trigger.TriggerName,    
			triggerEvent,           
			tableName,              
			trigger.BodyString,     
			triggerTime,            
			time.Unix(0, 0).UTC(),  
			"",                     
			"",                     
			characterSetClient,     
			collationConnection,    
			collationServer,        
		})
	}
	return sql.RowsToRowIter(rows...), nil
}
RowIter implements the sql.Node interface.
package plan
import (
	"strings"
	"time"
	"github.com/dolthub/go-mysql-server/sql"
)
type ShowTriggers struct {
	db       sql.Database
	Triggers []*CreateTrigger
}
var _ sql.Databaser = (*ShowTriggers)(nil)
var _ sql.Node = (*ShowTriggers)(nil)
var showTriggersSchema = sql.Schema{
	&sql.Column{Name: "Trigger", Type: sql.LongText, Nullable: false},
	&sql.Column{Name: "Event", Type: sql.LongText, Nullable: false},
	&sql.Column{Name: "Table", Type: sql.LongText, Nullable: false},
	&sql.Column{Name: "Statement", Type: sql.LongText, Nullable: false},
	&sql.Column{Name: "Timing", Type: sql.LongText, Nullable: false},
	&sql.Column{Name: "Created", Type: sql.Datetime, Nullable: false},
	&sql.Column{Name: "sql_mode", Type: sql.LongText, Nullable: false},
	&sql.Column{Name: "Definer", Type: sql.LongText, Nullable: false},
	&sql.Column{Name: "character_set_client", Type: sql.LongText, Nullable: false},
	&sql.Column{Name: "collation_connection", Type: sql.LongText, Nullable: false},
	&sql.Column{Name: "Database Collation", Type: sql.LongText, Nullable: false},
}
func NewShowTriggers(db sql.Database) *ShowTriggers {
	return &ShowTriggers{
		db: db,
	}
}
func (s *ShowTriggers) String() string {
	return "SHOW TRIGGERS"
}
func (s *ShowTriggers) Resolved() bool {
	_, ok := s.db.(sql.UnresolvedDatabase)
	return !ok
}
func (s *ShowTriggers) Children() []sql.Node {
	return nil
}
func (s *ShowTriggers) Schema() sql.Schema {
	return showTriggersSchema
}