@@ -247,8 +247,8 @@ func readDatabaseGrants(db *DBConnection, d *schema.ResourceData) error {
247
247
if isGrantToPublic (d ) {
248
248
query = `
249
249
SELECT
250
- decode(charindex('C',split_part(split_part(regexp_replace(replace(array_to_string(db.datacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)), 0,0,1) as create,
251
- decode(charindex('T',split_part(split_part(regexp_replace(replace(array_to_string(db.datacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)), 0,0,1) as temporary
250
+ decode(charindex('C',split_part(split_part(regexp_replace(replace(array_to_string(db.datacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)), 0,0,1) as create,
251
+ decode(charindex('T',split_part(split_part(regexp_replace(replace(array_to_string(db.datacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)), 0,0,1) as temporary
252
252
FROM pg_database db
253
253
WHERE
254
254
db.datname=$1
@@ -308,8 +308,8 @@ func readSchemaGrants(db *DBConnection, d *schema.ResourceData) error {
308
308
if isGrantToPublic (d ) {
309
309
query = `
310
310
SELECT
311
- decode(charindex('C',split_part(split_part(regexp_replace(replace(array_to_string(ns.nspacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)), 0,0,1) as create,
312
- decode(charindex('U',split_part(split_part(regexp_replace(replace(array_to_string(ns.nspacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)), 0,0,1) as usage
311
+ decode(charindex('C',split_part(split_part(regexp_replace(replace(array_to_string(ns.nspacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)), 0,0,1) as create,
312
+ decode(charindex('U',split_part(split_part(regexp_replace(replace(array_to_string(ns.nspacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)), 0,0,1) as usage
313
313
FROM pg_namespace ns
314
314
WHERE
315
315
ns.nspname=$1
@@ -389,14 +389,14 @@ func readTableGrants(db *DBConnection, d *schema.ResourceData) error {
389
389
query = `
390
390
SELECT
391
391
relname,
392
- decode(charindex('r',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as select,
393
- decode(charindex('w',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as update,
394
- decode(charindex('a',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as insert,
395
- decode(charindex('d',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as delete,
396
- decode(charindex('D',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as drop,
397
- decode(charindex('x',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as references,
398
- decode(charindex('R',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as rule,
399
- decode(charindex('t',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as trigger
392
+ decode(charindex('r',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as select,
393
+ decode(charindex('w',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as update,
394
+ decode(charindex('a',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as insert,
395
+ decode(charindex('d',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as delete,
396
+ decode(charindex('D',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as drop,
397
+ decode(charindex('x',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as references,
398
+ decode(charindex('R',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as rule,
399
+ decode(charindex('t',split_part(split_part(regexp_replace(replace(array_to_string(relacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)),null,0,0,0,1) as trigger
400
400
FROM pg_class cl
401
401
JOIN pg_namespace nsp ON nsp.oid = cl.relnamespace
402
402
WHERE
@@ -511,7 +511,7 @@ func readCallableGrants(db *DBConnection, d *schema.ResourceData) error {
511
511
query = `
512
512
SELECT
513
513
proname,
514
- decode(nvl(charindex('X',split_part(split_part(regexp_replace(replace(array_to_string(pr.proacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)), 0), 0,0,1) as execute
514
+ decode(nvl(charindex('X',split_part(split_part(regexp_replace(replace(array_to_string(pr.proacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)), 0), 0,0,1) as execute
515
515
FROM pg_proc_info pr
516
516
JOIN pg_namespace nsp ON nsp.oid = pr.pronamespace
517
517
WHERE
@@ -599,7 +599,7 @@ func readLanguageGrants(db *DBConnection, d *schema.ResourceData) error {
599
599
query = `
600
600
SELECT
601
601
lanname,
602
- decode(nvl(charindex('U',split_part(split_part(regexp_replace(replace(array_to_string(lg.lanacl, '|'), '"', ''),'[^|+] =','__avoidUserPrivs__'), '=', 2) ,'/',1)), 0), 0,0,1) as usage
602
+ decode(nvl(charindex('U',split_part(split_part(regexp_replace(replace(array_to_string(lg.lanacl, '|'), '"', ''),'[^|]+ =','__avoidUserPrivs__'), '=', 2) ,'/',1)), 0), 0,0,1) as usage
603
603
FROM pg_language lg
604
604
`
605
605
queryArgs = []interface {}{}
0 commit comments