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

Commit0bf52bd

Browse files
committed
Fix object identities for text search objects
We were neglecting to schema-qualify them.Backpatch to 9.3, where object identities were introduced as a conceptby commitf8348ea.
1 parent9612b98 commit0bf52bd

File tree

1 file changed

+21
-8
lines changed

1 file changed

+21
-8
lines changed

‎src/backend/catalog/objectaddress.c

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3056,15 +3056,18 @@ getObjectIdentity(const ObjectAddress *object)
30563056
{
30573057
HeapTupletup;
30583058
Form_pg_ts_parserformParser;
3059+
char*schema;
30593060

30603061
tup=SearchSysCache1(TSPARSEROID,
30613062
ObjectIdGetDatum(object->objectId));
30623063
if (!HeapTupleIsValid(tup))
30633064
elog(ERROR,"cache lookup failed for text search parser %u",
30643065
object->objectId);
30653066
formParser= (Form_pg_ts_parser)GETSTRUCT(tup);
3066-
appendStringInfo(&buffer,"%s",
3067-
quote_identifier(NameStr(formParser->prsname)));
3067+
schema=get_namespace_name(formParser->prsnamespace);
3068+
appendStringInfoString(&buffer,
3069+
quote_qualified_identifier(schema,
3070+
NameStr(formParser->prsname)));
30683071
ReleaseSysCache(tup);
30693072
break;
30703073
}
@@ -3073,15 +3076,18 @@ getObjectIdentity(const ObjectAddress *object)
30733076
{
30743077
HeapTupletup;
30753078
Form_pg_ts_dictformDict;
3079+
char*schema;
30763080

30773081
tup=SearchSysCache1(TSDICTOID,
30783082
ObjectIdGetDatum(object->objectId));
30793083
if (!HeapTupleIsValid(tup))
30803084
elog(ERROR,"cache lookup failed for text search dictionary %u",
30813085
object->objectId);
30823086
formDict= (Form_pg_ts_dict)GETSTRUCT(tup);
3083-
appendStringInfo(&buffer,"%s",
3084-
quote_identifier(NameStr(formDict->dictname)));
3087+
schema=get_namespace_name(formDict->dictnamespace);
3088+
appendStringInfoString(&buffer,
3089+
quote_qualified_identifier(schema,
3090+
NameStr(formDict->dictname)));
30853091
ReleaseSysCache(tup);
30863092
break;
30873093
}
@@ -3090,15 +3096,19 @@ getObjectIdentity(const ObjectAddress *object)
30903096
{
30913097
HeapTupletup;
30923098
Form_pg_ts_templateformTmpl;
3099+
char*schema;
30933100

30943101
tup=SearchSysCache1(TSTEMPLATEOID,
30953102
ObjectIdGetDatum(object->objectId));
30963103
if (!HeapTupleIsValid(tup))
30973104
elog(ERROR,"cache lookup failed for text search template %u",
30983105
object->objectId);
30993106
formTmpl= (Form_pg_ts_template)GETSTRUCT(tup);
3100-
appendStringInfo(&buffer,"%s",
3101-
quote_identifier(NameStr(formTmpl->tmplname)));
3107+
schema=get_namespace_name(formTmpl->tmplnamespace);
3108+
appendStringInfoString(&buffer,
3109+
quote_qualified_identifier(schema,
3110+
NameStr(formTmpl->tmplname)));
3111+
pfree(schema);
31023112
ReleaseSysCache(tup);
31033113
break;
31043114
}
@@ -3107,15 +3117,18 @@ getObjectIdentity(const ObjectAddress *object)
31073117
{
31083118
HeapTupletup;
31093119
Form_pg_ts_configformCfg;
3120+
char*schema;
31103121

31113122
tup=SearchSysCache1(TSCONFIGOID,
31123123
ObjectIdGetDatum(object->objectId));
31133124
if (!HeapTupleIsValid(tup))
31143125
elog(ERROR,"cache lookup failed for text search configuration %u",
31153126
object->objectId);
31163127
formCfg= (Form_pg_ts_config)GETSTRUCT(tup);
3117-
appendStringInfo(&buffer,"%s",
3118-
quote_identifier(NameStr(formCfg->cfgname)));
3128+
schema=get_namespace_name(formCfg->cfgnamespace);
3129+
appendStringInfoString(&buffer,
3130+
quote_qualified_identifier(schema,
3131+
NameStr(formCfg->cfgname)));
31193132
ReleaseSysCache(tup);
31203133
break;
31213134
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp