Skip to content

Commit 8d91395

Browse files
authored
Merge pull request #371 from waipeng/fix_grant_quotes
Fix: Unterminated quoted string when creating read user
2 parents be7e320 + f26d826 commit 8d91395

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

manifests/database/default_read_grant.pp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
acl.defaclacl
2121
FROM pg_default_acl acl
2222
JOIN pg_namespace ns ON acl.defaclnamespace=ns.oid
23-
WHERE acl.defaclacl::text ~ '.*\\\\\"${database_read_only_username}\\\\\"=r/${database_username}\\\".*'
23+
WHERE '@' || array_to_string(acl.defaclacl, '@') || '@' ~ '@(\"?)${database_read_only_username}\\1=r/(\"?)${database_username}\\2@'
2424
AND nspname = '${schema}'",
2525
}
2626

@@ -37,7 +37,7 @@
3737
acl.defaclacl
3838
FROM pg_default_acl acl
3939
JOIN pg_namespace ns ON acl.defaclnamespace=ns.oid
40-
WHERE acl.defaclacl::text ~ '.*\\\\\"${database_read_only_username}\\\\\"=U/${database_username}\\\".*'
40+
WHERE '@' || array_to_string(acl.defaclacl, '@') || '@' ~ '@(\"?)${database_read_only_username}\\1=U/(\"?)${database_username}\\2@'
4141
AND nspname = '${schema}'",
4242
}
4343

@@ -54,7 +54,7 @@
5454
acl.defaclacl
5555
FROM pg_default_acl acl
5656
JOIN pg_namespace ns ON acl.defaclnamespace=ns.oid
57-
WHERE acl.defaclacl::text ~ '.*\\\\\"${database_read_only_username}\\\\\"=X/${database_username}\\\".*'
57+
WHERE '@' || array_to_string(acl.defaclacl, '@') || '@' ~ '@(\"?)${database_read_only_username}\\1=X/(\"?)${database_username}\\2@'
5858
AND nspname = '${schema}'",
5959
}
6060
}

spec/support/unit/shared/database.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
acl.defaclacl
7373
FROM pg_default_acl acl
7474
JOIN pg_namespace ns ON acl.defaclnamespace=ns.oid
75-
WHERE acl.defaclacl::text ~ '.*\\\\\"#{with[:database_read_only_username]}\\\\\"=r/#{with[:database_username]}\\\".*'
75+
WHERE '@' || array_to_string(acl.defaclacl, '@') || '@' ~ '@(\"?)#{with[:database_read_only_username]}\\1=r/(\"?)#{with[:database_username]}\\2@'
7676
AND nspname = 'public'",
7777
)
7878
}
@@ -92,7 +92,7 @@
9292
acl.defaclacl
9393
FROM pg_default_acl acl
9494
JOIN pg_namespace ns ON acl.defaclnamespace=ns.oid
95-
WHERE acl.defaclacl::text ~ '.*\\\\\"#{with[:database_read_only_username]}\\\\\"=U/#{with[:database_username]}\\\".*'
95+
WHERE '@' || array_to_string(acl.defaclacl, '@') || '@' ~ '@(\"?)#{with[:database_read_only_username]}\\1=U/(\"?)#{with[:database_username]}\\2@'
9696
AND nspname = 'public'",
9797
)
9898
}
@@ -112,7 +112,7 @@
112112
acl.defaclacl
113113
FROM pg_default_acl acl
114114
JOIN pg_namespace ns ON acl.defaclnamespace=ns.oid
115-
WHERE acl.defaclacl::text ~ '.*\\\\\"#{with[:database_read_only_username]}\\\\\"=X/#{with[:database_username]}\\\".*'
115+
WHERE '@' || array_to_string(acl.defaclacl, '@') || '@' ~ '@(\"?)#{with[:database_read_only_username]}\\1=X/(\"?)#{with[:database_username]}\\2@'
116116
AND nspname = 'public'",
117117
)
118118
}

0 commit comments

Comments
 (0)