Silence compilers about extractNotNullColumn()

Multiple buildfarm animals warn that a newly added Assert() is
impossible to fail; remove it to avoid the noise.  While at it, use
direct assignment to obtain the value we need, avoiding an unnecessary
memcpy().

(I decided to remove the "pfree" call for the detoasted short-datum;
because this is only used for DDL, it's not problematic to leak such a
small allocation.)

Noted by Tom Lane about 14e87ffa5c54.

Discussion: https://postgr.es/m/3649828.1731083171@sss.pgh.pa.us
This commit is contained in:
Álvaro Herrera 2024-11-12 11:35:43 +01:00
parent 3f323eba89
commit ff239c3bf4
No known key found for this signature in database
GPG Key ID: 1C20ACB9D5C564AE

View File

@ -688,7 +688,6 @@ findDomainNotNullConstraint(Oid typid)
AttrNumber
extractNotNullColumn(HeapTuple constrTup)
{
AttrNumber colnum;
Datum adatum;
ArrayType *arr;
@ -704,13 +703,9 @@ extractNotNullColumn(HeapTuple constrTup)
ARR_DIMS(arr)[0] != 1)
elog(ERROR, "conkey is not a 1-D smallint array");
memcpy(&colnum, ARR_DATA_PTR(arr), sizeof(AttrNumber));
Assert(colnum > 0 && colnum <= MaxAttrNumber);
/* We leak the detoasted datum, but we don't care */
if ((Pointer) arr != DatumGetPointer(adatum))
pfree(arr); /* free de-toasted copy, if any */
return colnum;
return ((AttrNumber *) ARR_DATA_PTR(arr))[0];
}
/*