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

Commit5d3274d

Browse files
committed
Fix PGPPRO-717 correctly restore name/schema of local tables
1 parent6c4ad7f commit5d3274d

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

‎contrib/mmts/multimaster.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2522,7 +2522,7 @@ MtmCreateLocalTableMap(void)
25222522
returnhtab;
25232523
}
25242524

2525-
voidMtmMakeRelationLocal(Oidrelid)
2525+
staticvoidMtmMakeRelationLocal(Oidrelid)
25262526
{
25272527
if (OidIsValid(relid)) {
25282528
MtmLock(LW_EXCLUSIVE);
@@ -2532,17 +2532,17 @@ void MtmMakeRelationLocal(Oid relid)
25322532
}
25332533

25342534

2535-
staticvoidMtmMakeTableLocal(char*schema,char*name)
2535+
voidMtmMakeTableLocal(charconst*schema,charconst*name)
25362536
{
2537-
RangeVar*rv=makeRangeVar(schema,name,-1);
2537+
RangeVar*rv=makeRangeVar((char*)schema,(char*)name,-1);
25382538
Oidrelid=RangeVarGetRelid(rv,NoLock, true);
25392539
MtmMakeRelationLocal(relid);
25402540
}
25412541

25422542

25432543
typedefstruct {
2544-
NameDataschema;
2545-
NameDataname;
2544+
textschema;
2545+
textname;
25462546
}MtmLocalTablesTuple;
25472547

25482548
staticvoidMtmLoadLocalTables(void)
@@ -2562,7 +2562,7 @@ static void MtmLoadLocalTables(void)
25622562
while (HeapTupleIsValid(tuple=systable_getnext(scan)))
25632563
{
25642564
MtmLocalTablesTuple*t= (MtmLocalTablesTuple*)GETSTRUCT(tuple);
2565-
MtmMakeTableLocal(NameStr(t->schema),NameStr(t->name));
2565+
MtmMakeTableLocal(text_to_cstring(&t->schema),text_to_cstring(&t->name));
25662566
}
25672567

25682568
systable_endscan(scan);

‎contrib/mmts/multimaster.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ extern void MtmCheckQuorum(void);
403403
externboolMtmRecoveryCaughtUp(intnodeId,lsn_twalEndPtr);
404404
externvoidMtmCheckRecoveryCaughtUp(intnodeId,lsn_tslotLSN);
405405
externvoidMtmRecoveryCompleted(void);
406-
externvoidMtmMakeRelationLocal(Oidrelid);
406+
externvoidMtmMakeTableLocal(charconst*schema,charconst*name);
407407
externvoidMtmHandleApplyError(void);
408408
externvoidMtmUpdateLsnMapping(intnodeId,lsn_tendLsn);
409409
externlsn_tMtmGetFlushPosition(intnodeId);

‎contrib/mmts/pglogical_apply.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -860,7 +860,7 @@ process_remote_insert(StringInfo s, Relation rel)
860860
if (strcmp(RelationGetRelationName(rel),MULTIMASTER_LOCAL_TABLES_TABLE)==0&&
861861
strcmp(get_namespace_name(RelationGetNamespace(rel)),MULTIMASTER_SCHEMA_NAME)==0)
862862
{
863-
MtmMakeRelationLocal(RelationGetRelid(rel));
863+
MtmMakeTableLocal(TextDatumGetCString(new_tuple.values[0]),TextDatumGetCString(new_tuple.values[1]));
864864
}
865865

866866
ExecResetTupleTable(estate->es_tupleTable, true);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp