mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-06 15:24:56 +08:00
Free pre-modification HeapTuple in ALTER TABLE ... TYPE ...
This was an oversight in commit 3b174b1a3
.
Per offline gripe from Alvaro Herrera
Backpatch to release 11.
This commit is contained in:
parent
1db5667bac
commit
e33884d412
@ -9648,6 +9648,7 @@ ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel,
|
||||
Datum valuesAtt[Natts_pg_attribute];
|
||||
bool nullsAtt[Natts_pg_attribute];
|
||||
bool replacesAtt[Natts_pg_attribute];
|
||||
HeapTuple newTup;
|
||||
|
||||
MemSet(valuesAtt, 0, sizeof(valuesAtt));
|
||||
MemSet(nullsAtt, false, sizeof(nullsAtt));
|
||||
@ -9673,8 +9674,10 @@ ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel,
|
||||
replacesAtt[Anum_pg_attribute_attmissingval - 1] = true;
|
||||
nullsAtt[Anum_pg_attribute_attmissingval - 1] = false;
|
||||
|
||||
heapTup = heap_modify_tuple(heapTup, RelationGetDescr(attrelation),
|
||||
valuesAtt, nullsAtt, replacesAtt);
|
||||
newTup = heap_modify_tuple(heapTup, RelationGetDescr(attrelation),
|
||||
valuesAtt, nullsAtt, replacesAtt);
|
||||
heap_freetuple(heapTup);
|
||||
heapTup = newTup;
|
||||
attTup = (Form_pg_attribute) GETSTRUCT(heapTup);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user