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

Method getDatabases

backend/plugin/db/pg/pg.go:318–337  ·  view source on GitHub ↗

getDatabases gets all databases of an instance.

(ctx context.Context)

Source from the content-addressed store, hash-verified

316
317// getDatabases gets all databases of an instance.
318func (d *Driver) getDatabases(ctx context.Context) ([]*storepb.DatabaseSchemaMetadata, error) {
319 var databases []*storepb.DatabaseSchemaMetadata
320 rows, err := d.db.QueryContext(ctx, "SELECT datname, pg_encoding_to_char(encoding), datcollate, pg_catalog.pg_get_userbyid(datdba) as db_owner FROM pg_database;")
321 if err != nil {
322 return nil, err
323 }
324 defer rows.Close()
325
326 for rows.Next() {
327 database := &storepb.DatabaseSchemaMetadata{}
328 if err := rows.Scan(&database.Name, &database.CharacterSet, &database.Collation, &database.Owner); err != nil {
329 return nil, err
330 }
331 databases = append(databases, database)
332 }
333 if err := rows.Err(); err != nil {
334 return nil, err
335 }
336 return databases, nil
337}
338
339// GetSearchPath gets the current search path of the database.
340// It returns the search path as a raw comma-separated string of schema names.

Callers 3

SyncInstanceMethod · 0.95
SyncDBSchemaMethod · 0.95
createDatabaseExecuteMethod · 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 4

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

Tested by

no test coverage detected