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

Method getDatabases

backend/plugin/db/cockroachdb/cockroachdb.go:197–220  ·  view source on GitHub ↗

getDatabases gets all databases of an instance.

(ctx context.Context)

Source from the content-addressed store, hash-verified

195
196// getDatabases gets all databases of an instance.
197func (d *Driver) getDatabases(ctx context.Context) ([]*storepb.DatabaseSchemaMetadata, error) {
198 var databases []*storepb.DatabaseSchemaMetadata
199 if err := crdb.Execute(func() error {
200 rows, err := d.db.QueryContext(ctx, "SELECT datname, pg_encoding_to_char(encoding), datcollate FROM pg_database;")
201 if err != nil {
202 return err
203 }
204 defer rows.Close()
205
206 for rows.Next() {
207 database := &storepb.DatabaseSchemaMetadata{}
208 if err := rows.Scan(&database.Name, &database.CharacterSet, &database.Collation); err != nil {
209 return err
210 }
211 databases = append(databases, database)
212 }
213 err = rows.Err()
214 return err
215 }); err != nil {
216 return nil, err
217 }
218
219 return databases, nil
220}
221
222func (d *Driver) getVersion(ctx context.Context) (string, error) {
223 // https://www.cockroachlabs.com/docs/v25.1/cluster-settings#setting-version

Callers 3

createDatabaseExecuteMethod · 0.95
SyncInstanceMethod · 0.95
SyncDBSchemaMethod · 0.95

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 5

QueryContextMethod · 0.80
ScanMethod · 0.80
ExecuteMethod · 0.65
CloseMethod · 0.65
NextMethod · 0.45

Tested by

no test coverage detected