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

Method SyncInstance

backend/plugin/db/elasticsearch/sync.go:21–44  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

19)
20
21func (d *Driver) SyncInstance(ctx context.Context) (*db.InstanceMetadata, error) {
22 version, err := d.getVersion()
23 if err != nil {
24 return nil, errors.Wrapf(err, "failed to fetch version from Elasticsearch server")
25 }
26
27 dbMetadata, err := d.SyncDBSchema(ctx)
28 if err != nil {
29 return nil, errors.Wrapf(err, "failed to fetch indices from Elasticsearch server")
30 }
31
32 instanceRoles, err := d.getInstanceRoles(ctx)
33 if err != nil {
34 return nil, err
35 }
36
37 return &db.InstanceMetadata{
38 Version: version,
39 Databases: []*storepb.DatabaseSchemaMetadata{dbMetadata},
40 Metadata: &storepb.Instance{
41 Roles: instanceRoles,
42 },
43 }, nil
44}
45
46// SyncDBSchema implements db.Driver.
47func (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
SyncDBSchemaMethod · 0.95
getInstanceRolesMethod · 0.95

Tested by

no test coverage detected