Re: pgaio_io_get_id() type (was Re: Datum as struct) - Mailing list pgsql-hackers

From Andres Freund
Subject Re: pgaio_io_get_id() type (was Re: Datum as struct)
Date
Msg-id vmyq5naq3abyhja5swi2hegguq5d23wfa7xrbog3cy7lgwyau4@uhevvc25r5ef
Whole thread Raw
In response to pgaio_io_get_id() type (was Re: Datum as struct)  (Peter Eisentraut <peter@eisentraut.org>)
List pgsql-hackers
Hi,

On 2025-08-05 19:20:20 +0200, Peter Eisentraut wrote:
> On 31.07.25 19:17, Tom Lane wrote:
> > Also I see a "// XXX" in pg_get_aios, which I guess is a note
> > to confirm the data type to use for ioh_id?
> 
> Yes, the stuff returned from pgaio_io_get_id() should be int, but some code
> uses uint32, and also UINT32_MAX as a special marker.  Here is a patch that
> tries to straighten that out by using int consistently and -1 as a special
> marker.

> From e1bb97e13af226cd15c9a59929aef48bc92c4ac2 Mon Sep 17 00:00:00 2001
> From: Peter Eisentraut <peter@eisentraut.org>
> Date: Tue, 5 Aug 2025 19:16:38 +0200
> Subject: [PATCH] Use consistent type for pgaio_io_get_id() result
> 
> The result of pgaio_io_get_id() was being assigned to a mix of int and
> uint32 variables.  This fixes it to use int consistently, which seems
> the most correct.  Also change the queue empty special value in
> method_worker.c to -1 from UINT32_MAX.

WFM. I guess I could see some value going with an unsigned value instead of a
signed one, but it really doesn't matter...

Greetings,

Andres



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Support for 8-byte TOAST values (aka the TOAST infinite loop problem)
Next
From: Dagfinn Ilmari Mannsåker
Date:
Subject: Re: [PATCH] OAuth: fix performance bug with stuck multiplexer events