mirror of
https://github.com/postgres/postgres.git
synced 2026-10-23 13:29:09 +03:00
Fix argument handling in pg_indexam_progress_phasename()
The function is declared in pg_proc.dat a bigint as its second input argument, but the function's code used PG_GETARG_INT32(). This is an issue in 32-bit architectures in stable branches (up to v18) where bigint is still passed by reference, reporting bogus numbers. Since2a600a93c7(v19 and HEAD), this is less of a problem as Datums became 8-byte wide everywhere. Oversight inab0dfc961b. Author: Markos Fountoulakis <markos@planetscale.com> Reviewed-by: Chao Li <li.evan.chao@gmail.com> Discussion: https://postgr.es/m/e791bbb7-af3a-4a91-a5bb-c744e5c3ef54@planetscale.com Backpatch-through: 14
This commit is contained in:
@@ -454,7 +454,7 @@ Datum
|
|||||||
pg_indexam_progress_phasename(PG_FUNCTION_ARGS)
|
pg_indexam_progress_phasename(PG_FUNCTION_ARGS)
|
||||||
{
|
{
|
||||||
Oid amoid = PG_GETARG_OID(0);
|
Oid amoid = PG_GETARG_OID(0);
|
||||||
int32 phasenum = PG_GETARG_INT32(1);
|
int64 phasenum = PG_GETARG_INT64(1);
|
||||||
IndexAmRoutine *routine;
|
IndexAmRoutine *routine;
|
||||||
char *name;
|
char *name;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user