|
53 | 53 | default: {
|
54 | 54 | # default is 'present'
|
55 | 55 | $sql_command = 'GRANT %s ON %s "%s%s" TO "%s"'
|
| 56 | + $sql_command_public = 'GRANT %s ON %s "%s%s" TO PUBLIC' |
56 | 57 | $sql_command_unquoted = 'GRANT %s ON %s %s%s TO "%s"'
|
| 58 | + $sql_command_unquoted_public = 'GRANT %s ON %s %s%s TO PUBLIC' |
57 | 59 | $unless_is = true
|
58 | 60 | }
|
59 | 61 | 'absent': {
|
60 | 62 | $sql_command = 'REVOKE %s ON %s "%s%s" FROM "%s"'
|
| 63 | + $sql_command_public = 'REVOKE %s ON %s "%s%s" FROM PUBLIC' |
61 | 64 | $sql_command_unquoted = 'REVOKE %s ON %s %s%s FROM "%s"'
|
| 65 | + $sql_command_unquoted_public = 'REVOKE %s ON %s %s%s FROM PUBLIC' |
62 | 66 | $unless_is = false
|
63 | 67 | }
|
64 | 68 | }
|
|
452 | 456 | default => undef,
|
453 | 457 | }
|
454 | 458 |
|
455 |
| - $grant_cmd = $_enquote_object ? { |
456 |
| - false => sprintf($sql_command_unquoted, $_privilege, $_object_type, $_togrant_object, $arguments, $role), |
457 |
| - default => sprintf($sql_command, $_privilege, $_object_type, $_togrant_object, $arguments, $role), |
| 459 | + case $role { |
| 460 | + default: { |
| 461 | + $grant_cmd = $_enquote_object ? { |
| 462 | + false => sprintf($sql_command_unquoted, $_privilege, $_object_type, $_togrant_object, $arguments, $role), |
| 463 | + default => sprintf($sql_command, $_privilege, $_object_type, $_togrant_object, $arguments, $role), |
| 464 | + } |
| 465 | + } |
| 466 | + 'PUBLIC': { |
| 467 | + # For internal PUBLIC role, we do not want to quote it |
| 468 | + $grant_cmd = $_enquote_object ? { |
| 469 | + false => sprintf($sql_command_unquoted_public, $_privilege, $_object_type, $_togrant_object, $arguments, $role), |
| 470 | + default => sprintf($sql_command_public, $_privilege, $_object_type, $_togrant_object, $arguments, $role), |
| 471 | + } |
| 472 | + } |
458 | 473 | }
|
459 | 474 |
|
460 | 475 | postgresql_psql { "grant:${name}":
|
|
0 commit comments