blob: 6b0e7bb3d8b97b731a4af7b1af5490a9e90b3334 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
sub acl {
my $dbh = shift;
my @acls;
my @tables = qw (
classes_id_seq
Classes
articles_id_seq
Articles
topics_id_seq
Topics
objecttopics_id_seq
ObjectTopics
objectclasses_id_seq
ObjectClasses
);
my $db_user = RT->Config->Get('DatabaseUser');
my $sequence_right
= ( $dbh->{pg_server_version} >= 80200 )
? "USAGE, SELECT, UPDATE"
: "SELECT, UPDATE";
foreach my $table (@tables) {
# Tables are upper-case, sequences are lowercase
if ( $table =~ /^[a-z]/ ) {
push @acls, "GRANT $sequence_right ON $table TO \"$db_user\";"
}
else {
push @acls, "GRANT SELECT, INSERT, UPDATE, DELETE ON $table TO \"$db_user\";"
}
}
return (@acls);
}
1;
|