Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit7c89eb7

Browse files
committed
Improve translatability of some getObjectDescription() messages.
Refactor some cases in getObjectDescription so that the translator hasmore control over phrase order in the translated messages. This doesn'tcause any changes in the English results. (I was sorely tempted toreorder "... belonging to role %s in schema %s" into "... in schema %sbelonging to role %s", but refrained.)In principle we could back-patch this, but since translators have notcomplained about these cases previously, it seems better not to thrashthe translatable strings in back branches.Kyotaro Horiguchi, tweaked a bit by meDiscussion:https://postgr.es/m/20180522.182020.114074746.horiguchi.kyotaro@lab.ntt.co.jp
1 parent1a31baf commit7c89eb7

File tree

1 file changed

+73
-35
lines changed

1 file changed

+73
-35
lines changed

‎src/backend/catalog/objectaddress.c

Lines changed: 73 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2778,6 +2778,7 @@ getObjectDescription(const ObjectAddress *object)
27782778

27792779
initStringInfo(&rel);
27802780
getRelationDescription(&rel,con->conrelid);
2781+
/* translator: second %s is, e.g., "table %s" */
27812782
appendStringInfo(&buffer,_("constraint %s on %s"),
27822783
NameStr(con->conname),rel.data);
27832784
pfree(rel.data);
@@ -3036,6 +3037,7 @@ getObjectDescription(const ObjectAddress *object)
30363037
SysScanDescrcscan;
30373038
HeapTupletup;
30383039
Form_pg_rewriterule;
3040+
StringInfoDatarel;
30393041

30403042
ruleDesc=heap_open(RewriteRelationId,AccessShareLock);
30413043

@@ -3052,13 +3054,15 @@ getObjectDescription(const ObjectAddress *object)
30523054
if (!HeapTupleIsValid(tup))
30533055
elog(ERROR,"could not find tuple for rule %u",
30543056
object->objectId);
3055-
30563057
rule= (Form_pg_rewrite)GETSTRUCT(tup);
30573058

3058-
appendStringInfo(&buffer,_("rule %s on "),
3059-
NameStr(rule->rulename));
3060-
getRelationDescription(&buffer,rule->ev_class);
3059+
initStringInfo(&rel);
3060+
getRelationDescription(&rel,rule->ev_class);
30613061

3062+
/* translator: second %s is, e.g., "table %s" */
3063+
appendStringInfo(&buffer,_("rule %s on %s"),
3064+
NameStr(rule->rulename),rel.data);
3065+
pfree(rel.data);
30623066
systable_endscan(rcscan);
30633067
heap_close(ruleDesc,AccessShareLock);
30643068
break;
@@ -3071,6 +3075,7 @@ getObjectDescription(const ObjectAddress *object)
30713075
SysScanDesctgscan;
30723076
HeapTupletup;
30733077
Form_pg_triggertrig;
3078+
StringInfoDatarel;
30743079

30753080
trigDesc=heap_open(TriggerRelationId,AccessShareLock);
30763081

@@ -3087,13 +3092,15 @@ getObjectDescription(const ObjectAddress *object)
30873092
if (!HeapTupleIsValid(tup))
30883093
elog(ERROR,"could not find tuple for trigger %u",
30893094
object->objectId);
3090-
30913095
trig= (Form_pg_trigger)GETSTRUCT(tup);
30923096

3093-
appendStringInfo(&buffer,_("trigger %s on "),
3094-
NameStr(trig->tgname));
3095-
getRelationDescription(&buffer,trig->tgrelid);
3097+
initStringInfo(&rel);
3098+
getRelationDescription(&rel,trig->tgrelid);
30963099

3100+
/* translator: second %s is, e.g., "table %s" */
3101+
appendStringInfo(&buffer,_("trigger %s on %s"),
3102+
NameStr(trig->tgname),rel.data);
3103+
pfree(rel.data);
30973104
systable_endscan(tgscan);
30983105
heap_close(trigDesc,AccessShareLock);
30993106
break;
@@ -3327,6 +3334,8 @@ getObjectDescription(const ObjectAddress *object)
33273334
SysScanDescrcscan;
33283335
HeapTupletup;
33293336
Form_pg_default_acldefacl;
3337+
char*rolename;
3338+
char*nspname;
33303339

33313340
defaclrel=heap_open(DefaultAclRelationId,AccessShareLock);
33323341

@@ -3346,48 +3355,74 @@ getObjectDescription(const ObjectAddress *object)
33463355

33473356
defacl= (Form_pg_default_acl)GETSTRUCT(tup);
33483357

3358+
rolename=GetUserNameFromId(defacl->defaclrole, false);
3359+
3360+
if (OidIsValid(defacl->defaclnamespace))
3361+
nspname=get_namespace_name(defacl->defaclnamespace);
3362+
else
3363+
nspname=NULL;
3364+
33493365
switch (defacl->defaclobjtype)
33503366
{
33513367
caseDEFACLOBJ_RELATION:
3352-
appendStringInfo(&buffer,
3353-
_("default privileges on new relations belonging to role %s"),
3354-
GetUserNameFromId(defacl->defaclrole, false));
3368+
if (nspname)
3369+
appendStringInfo(&buffer,
3370+
_("default privileges on new relations belonging to role %s in schema %s"),
3371+
rolename,nspname);
3372+
else
3373+
appendStringInfo(&buffer,
3374+
_("default privileges on new relations belonging to role %s"),
3375+
rolename);
33553376
break;
33563377
caseDEFACLOBJ_SEQUENCE:
3357-
appendStringInfo(&buffer,
3358-
_("default privileges on new sequences belonging to role %s"),
3359-
GetUserNameFromId(defacl->defaclrole, false));
3378+
if (nspname)
3379+
appendStringInfo(&buffer,
3380+
_("default privileges on new sequences belonging to role %s in schema %s"),
3381+
rolename,nspname);
3382+
else
3383+
appendStringInfo(&buffer,
3384+
_("default privileges on new sequences belonging to role %s"),
3385+
rolename);
33603386
break;
33613387
caseDEFACLOBJ_FUNCTION:
3362-
appendStringInfo(&buffer,
3363-
_("default privileges on new functions belonging to role %s"),
3364-
GetUserNameFromId(defacl->defaclrole, false));
3388+
if (nspname)
3389+
appendStringInfo(&buffer,
3390+
_("default privileges on new functions belonging to role %s in schema %s"),
3391+
rolename,nspname);
3392+
else
3393+
appendStringInfo(&buffer,
3394+
_("default privileges on new functions belonging to role %s"),
3395+
rolename);
33653396
break;
33663397
caseDEFACLOBJ_TYPE:
3367-
appendStringInfo(&buffer,
3368-
_("default privileges on new types belonging to role %s"),
3369-
GetUserNameFromId(defacl->defaclrole, false));
3398+
if (nspname)
3399+
appendStringInfo(&buffer,
3400+
_("default privileges on new types belonging to role %s in schema %s"),
3401+
rolename,nspname);
3402+
else
3403+
appendStringInfo(&buffer,
3404+
_("default privileges on new types belonging to role %s"),
3405+
rolename);
33703406
break;
33713407
caseDEFACLOBJ_NAMESPACE:
3408+
Assert(!nspname);
33723409
appendStringInfo(&buffer,
33733410
_("default privileges on new schemas belonging to role %s"),
3374-
GetUserNameFromId(defacl->defaclrole, false));
3411+
rolename);
33753412
break;
33763413
default:
33773414
/* shouldn't get here */
3378-
appendStringInfo(&buffer,
3379-
_("default privileges belonging to role %s"),
3380-
GetUserNameFromId(defacl->defaclrole, false));
3415+
if (nspname)
3416+
appendStringInfo(&buffer,
3417+
_("default privileges belonging to role %s in schema %s"),
3418+
rolename,nspname);
3419+
else
3420+
appendStringInfo(&buffer,
3421+
_("default privileges belonging to role %s"),
3422+
rolename);
33813423
break;
33823424
}
33833425

3384-
if (OidIsValid(defacl->defaclnamespace))
3385-
{
3386-
appendStringInfo(&buffer,
3387-
_(" in schema %s"),
3388-
get_namespace_name(defacl->defaclnamespace));
3389-
}
3390-
33913426
systable_endscan(rcscan);
33923427
heap_close(defaclrel,AccessShareLock);
33933428
break;
@@ -3427,6 +3462,7 @@ getObjectDescription(const ObjectAddress *object)
34273462
SysScanDescsscan;
34283463
HeapTupletuple;
34293464
Form_pg_policyform_policy;
3465+
StringInfoDatarel;
34303466

34313467
policy_rel=heap_open(PolicyRelationId,AccessShareLock);
34323468

@@ -3443,13 +3479,15 @@ getObjectDescription(const ObjectAddress *object)
34433479
if (!HeapTupleIsValid(tuple))
34443480
elog(ERROR,"could not find tuple for policy %u",
34453481
object->objectId);
3446-
34473482
form_policy= (Form_pg_policy)GETSTRUCT(tuple);
34483483

3449-
appendStringInfo(&buffer,_("policy %s on "),
3450-
NameStr(form_policy->polname));
3451-
getRelationDescription(&buffer,form_policy->polrelid);
3484+
initStringInfo(&rel);
3485+
getRelationDescription(&rel,form_policy->polrelid);
34523486

3487+
/* translator: second %s is, e.g., "table %s" */
3488+
appendStringInfo(&buffer,_("policy %s on %s"),
3489+
NameStr(form_policy->polname),rel.data);
3490+
pfree(rel.data);
34533491
systable_endscan(sscan);
34543492
heap_close(policy_rel,AccessShareLock);
34553493
break;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp