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

Function getEvents

backend/plugin/db/starrocks/dump.go:577–614  ·  view source on GitHub ↗

getEvents gets all events of a database.

(db *sql.DB, dbName string)

Source from the content-addressed store, hash-verified

575
576// getEvents gets all events of a database.
577func getEvents(db *sql.DB, dbName string) ([]*eventSchema, error) {
578 var events []*eventSchema
579 query := fmt.Sprintf("SHOW EVENTS FROM `%s`;", dbName)
580 rows, err := db.Query(query)
581 if err != nil {
582 return nil, err
583 }
584 defer rows.Close()
585
586 cols, err := rows.Columns()
587 if err != nil {
588 return nil, err
589 }
590 var values []any
591 for i := 0; i < len(cols); i++ {
592 values = append(values, new(any))
593 }
594 for rows.Next() {
595 var r eventSchema
596 if err := rows.Scan(values...); err != nil {
597 return nil, err
598 }
599 r.name = fmt.Sprintf("%s", *values[1].(*any))
600 events = append(events, &r)
601 }
602 if err := rows.Err(); err != nil {
603 return nil, util.FormatErrorWithQuery(err, query)
604 }
605
606 for _, r := range events {
607 stmt, err := getEventStmt(db, dbName, r.name)
608 if err != nil {
609 return nil, errors.Wrapf(err, "failed to call getEventStmt(%q, %q)", dbName, r.name)
610 }
611 r.statement = stmt
612 }
613 return events, nil
614}
615
616// getEventStmt gets the create statement of an event.
617func getEventStmt(db *sql.DB, dbName, eventName string) (string, error) {

Callers 1

DumpMethod · 0.70

Calls 7

FormatErrorWithQueryFunction · 0.92
getEventStmtFunction · 0.85
ColumnsMethod · 0.80
ScanMethod · 0.80
QueryMethod · 0.65
CloseMethod · 0.65
NextMethod · 0.45

Tested by

no test coverage detected