Skip to content

Commit 52cbe26

Browse files
committed
quote schema names in case they use special characters and remove strings.Builder
1 parent f5e122e commit 52cbe26

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

pkg/cluster/cluster.go

+9-7
Original file line numberDiff line numberDiff line change
@@ -1390,18 +1390,18 @@ func (c *Cluster) initPreparedDatabaseRoles() error {
13901390
preparedSchemas = map[string]acidv1.PreparedSchema{"data": {DefaultRoles: util.True()}}
13911391
}
13921392

1393-
var searchPath strings.Builder
1394-
searchPath.WriteString(constants.DefaultSearchPath)
1393+
searchPathArr := []string{constants.DefaultSearchPath}
13951394
for preparedSchemaName := range preparedSchemas {
1396-
searchPath.WriteString(", " + preparedSchemaName)
1395+
searchPathArr = append(searchPathArr, fmt.Sprintf("%q", preparedSchemaName))
13971396
}
1397+
searchPath := strings.Join(searchPathArr, ", ")
13981398

13991399
// default roles per database
1400-
if err := c.initDefaultRoles(defaultRoles, "admin", preparedDbName, searchPath.String(), preparedDB.SecretNamespace); err != nil {
1400+
if err := c.initDefaultRoles(defaultRoles, "admin", preparedDbName, searchPath, preparedDB.SecretNamespace); err != nil {
14011401
return fmt.Errorf("could not initialize default roles for database %s: %v", preparedDbName, err)
14021402
}
14031403
if preparedDB.DefaultUsers {
1404-
if err := c.initDefaultRoles(defaultUsers, "admin", preparedDbName, searchPath.String(), preparedDB.SecretNamespace); err != nil {
1404+
if err := c.initDefaultRoles(defaultUsers, "admin", preparedDbName, searchPath, preparedDB.SecretNamespace); err != nil {
14051405
return fmt.Errorf("could not initialize default roles for database %s: %v", preparedDbName, err)
14061406
}
14071407
}
@@ -1412,14 +1412,16 @@ func (c *Cluster) initPreparedDatabaseRoles() error {
14121412
if err := c.initDefaultRoles(defaultRoles,
14131413
preparedDbName+constants.OwnerRoleNameSuffix,
14141414
preparedDbName+"_"+preparedSchemaName,
1415-
constants.DefaultSearchPath+", "+preparedSchemaName, preparedDB.SecretNamespace); err != nil {
1415+
fmt.Sprintf("%s, %q", constants.DefaultSearchPath, preparedSchemaName),
1416+
preparedDB.SecretNamespace); err != nil {
14161417
return fmt.Errorf("could not initialize default roles for database schema %s: %v", preparedSchemaName, err)
14171418
}
14181419
if preparedSchema.DefaultUsers {
14191420
if err := c.initDefaultRoles(defaultUsers,
14201421
preparedDbName+constants.OwnerRoleNameSuffix,
14211422
preparedDbName+"_"+preparedSchemaName,
1422-
constants.DefaultSearchPath+", "+preparedSchemaName, preparedDB.SecretNamespace); err != nil {
1423+
fmt.Sprintf("%s, %q", constants.DefaultSearchPath, preparedSchemaName),
1424+
preparedDB.SecretNamespace); err != nil {
14231425
return fmt.Errorf("could not initialize default users for database schema %s: %v", preparedSchemaName, err)
14241426
}
14251427
}

0 commit comments

Comments
 (0)