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

Method SyncInstance

backend/plugin/db/cockroachdb/sync.go:27–60  ·  view source on GitHub ↗

SyncInstance syncs the instance.

(ctx context.Context)

Source from the content-addressed store, hash-verified

25
26// SyncInstance syncs the instance.
27func (d *Driver) SyncInstance(ctx context.Context) (*db.InstanceMetadata, error) {
28 version, err := d.getVersion(ctx)
29 if err != nil {
30 return nil, err
31 }
32
33 instanceRoles, err := d.getInstanceRoles(ctx)
34 if err != nil {
35 return nil, err
36 }
37
38 // Query db info
39 databases, err := d.getDatabases(ctx)
40 if err != nil {
41 return nil, errors.Wrap(err, "failed to get databases")
42 }
43
44 var filteredDatabases []*storepb.DatabaseSchemaMetadata
45 for _, database := range databases {
46 // Skip all system databases
47 if crparser.IsSystemDatabase(database.Name) {
48 continue
49 }
50 filteredDatabases = append(filteredDatabases, database)
51 }
52
53 return &db.InstanceMetadata{
54 Version: version,
55 Databases: filteredDatabases,
56 Metadata: &storepb.Instance{
57 Roles: instanceRoles,
58 },
59 }, nil
60}
61
62// SyncDBSchema syncs a single database schema.
63func (d *Driver) SyncDBSchema(ctx context.Context) (*storepb.DatabaseSchemaMetadata, error) {

Callers

nothing calls this directly

Implementers 15

MockDriverbackend/plugin/advisor/utils_for_tests
Driverbackend/plugin/db/bigquery/bigquery.go
Driverbackend/plugin/db/mongodb/mongodb.go
Driverbackend/plugin/db/trino/trino.go
Driverbackend/plugin/db/redshift/redshift.go
Driverbackend/plugin/db/oracle/oracle.go
Driverbackend/plugin/db/dynamodb/dynamodb.go
Driverbackend/plugin/db/cosmosdb/cosmosdb.go
Driverbackend/plugin/db/spanner/spanner.go
Driverbackend/plugin/db/mssql/mssql.go
Driverbackend/plugin/db/mysql/mysql.go
Driverbackend/plugin/db/pg/pg.go

Calls 3

getVersionMethod · 0.95
getInstanceRolesMethod · 0.95
getDatabasesMethod · 0.95

Tested by

no test coverage detected