MCPcopy Index your code
hub / github.com/zalando/postgres-operator / syncPreparedDatabases

Method syncPreparedDatabases

pkg/cluster/sync.go:1551–1587  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1549}
1550
1551func (c *Cluster) syncPreparedDatabases() error {
1552 c.setProcessName("syncing prepared databases")
1553 errors := make([]string, 0)
1554
1555 for preparedDbName, preparedDB := range c.Spec.PreparedDatabases {
1556 if err := c.initDbConnWithName(preparedDbName); err != nil {
1557 errors = append(errors, fmt.Sprintf("could not init connection to database %s: %v", preparedDbName, err))
1558 continue
1559 }
1560
1561 c.logger.Debugf("syncing prepared database %q", preparedDbName)
1562 // now, prepare defined schemas
1563 preparedSchemas := preparedDB.PreparedSchemas
1564 if len(preparedDB.PreparedSchemas) == 0 {
1565 preparedSchemas = map[string]acidv1.PreparedSchema{"data": {DefaultRoles: util.True()}}
1566 }
1567 if err := c.syncPreparedSchemas(preparedDbName, preparedSchemas); err != nil {
1568 errors = append(errors, err.Error())
1569 continue
1570 }
1571
1572 // install extensions
1573 if err := c.syncExtensions(preparedDB.Extensions); err != nil {
1574 errors = append(errors, err.Error())
1575 }
1576
1577 if err := c.closeDbConn(); err != nil {
1578 c.logger.Errorf("could not close database connection: %v", err)
1579 }
1580 }
1581
1582 if len(errors) > 0 {
1583 return fmt.Errorf("error(s) while syncing prepared databases: %v", strings.Join(errors, `', '`))
1584 }
1585
1586 return nil
1587}
1588
1589func (c *Cluster) syncPreparedSchemas(databaseName string, preparedSchemas map[string]acidv1.PreparedSchema) error {
1590 c.setProcessName("syncing prepared schemas")

Callers 3

SyncMethod · 0.95
CreateMethod · 0.95
UpdateMethod · 0.95

Calls 6

setProcessNameMethod · 0.95
initDbConnWithNameMethod · 0.95
syncPreparedSchemasMethod · 0.95
syncExtensionsMethod · 0.95
closeDbConnMethod · 0.95
TrueFunction · 0.92

Tested by

no test coverage detected