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

Commit992a7ad

Browse files
committed
improve function pathman_update_trigger_func_move_tuple()
1 parent2604a1c commit992a7ad

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

‎src/partition_filter.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ build_part_tuple_map(Relation parent_rel, Relation child_rel)
344344
TupleDescchild_tupdesc,
345345
parent_tupdesc;
346346

347-
/*Use fake 'tdtypeid' in order to fool convert_tuples_by_name() */
347+
/*HACK: use fake 'tdtypeid' in order to fool convert_tuples_by_name() */
348348
child_tupdesc=CreateTupleDescCopy(RelationGetDescr(child_rel));
349349
child_tupdesc->tdtypeid=InvalidOid;
350350

‎src/pl_funcs.c

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1212,11 +1212,18 @@ pathman_update_trigger_func_move_tuple(Relation source_rel,
12121212
HeapTupleold_tuple,
12131213
HeapTuplenew_tuple)
12141214
{
1215-
TupleDescsource_tupdesc=RelationGetDescr(source_rel),
1216-
target_tupdesc=RelationGetDescr(target_rel);
1215+
TupleDescsource_tupdesc,
1216+
target_tupdesc;
12171217
HeapTupletarget_tuple;
12181218
TupleConversionMap*conversion_map;
12191219

1220+
/* HACK: use fake 'tdtypeid' in order to fool convert_tuples_by_name() */
1221+
source_tupdesc=CreateTupleDescCopy(RelationGetDescr(source_rel));
1222+
source_tupdesc->tdtypeid=InvalidOid;
1223+
1224+
target_tupdesc=CreateTupleDescCopy(RelationGetDescr(target_rel));
1225+
target_tupdesc->tdtypeid=InvalidOid;
1226+
12201227
/* Build tuple conversion map */
12211228
conversion_map=convert_tuples_by_name(source_tupdesc,
12221229
target_tupdesc,
@@ -1286,6 +1293,10 @@ pathman_update_trigger_func_move_tuple(Relation source_rel,
12861293
}
12871294
/* Else emit error */
12881295
elseelog(ERROR,"could not connect using SPI");
1296+
1297+
/* At last, free these temporary tuple descs */
1298+
FreeTupleDesc(source_tupdesc);
1299+
FreeTupleDesc(target_tupdesc);
12891300
}
12901301

12911302
/* Create UPDATE triggers for all partitions */

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp