public inbox for [email protected]
help / color / mirror / Atom feedFrom: Dominique Devienne <[email protected]>
To: Tom Lane <[email protected]>
Cc: [email protected]
Subject: Re: libpq v17 PQsocketPoll timeout is not granular enough
Date: Mon, 10 Jun 2024 20:43:28 +0200
Message-ID: <CAFCRh-8zngmAsYfLyrmz6mDhPPF5uh8YRBCcMJjdUidKBeFSxw@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <CAFCRh-8hf=7V8UoF63aLxSkeFmXX8-1O5tRxHL61Pngb7V9rcw@mail.gmail.com>
<[email protected]>
Bummer… I didn’t presume to suggest an api before, but simply adding an
extra int with the milliseconds offset from the time_t is simple, and
trivial to plug into the implementation I saw. Callers who don’t care can
simply pass zero. while I could pass a computed time_t and ms offset using
<chrono>. No need for fancy types imho. Aren’t betas precisely for the
purpose of exposing apis to those like myself to vet them? This is also
beta1, I,e, the first one. My €0.02
On Mon, Jun 10, 2024 at 6:18 PM Tom Lane <[email protected]> wrote:
> Dominique Devienne <[email protected]> writes:
> > PQsocketPoll() being based on time_t, it has only second resolution,
> AFAIK.
> > Despite the [underlying implementation in fe-misc.c][2] supporting at
> > least milliseconds.
> > ...
> > But I think it would a pity if that unreleased API couldn't be made to
> > accomodate sub-second timeouts and more use-cases, like above.
> > Especially given that libpq v17 isn't out yet. I may come late to the
> > game, but hopefully it is not too late.
>
> This is an interesting suggestion, but I think yes it's too late.
> We're already past beta1 and this'd require some fairly fundamental
> rethinking, since there's no easy substitute for type time_t that has
> millisecond resolution. (The callers do want to specify an end time
> not a timeout interval, since some of them loop around PQsocketPoll
> and don't want the end time to slip.)
>
> I guess conceivably we could use gettimeofday() and struct timeval
> instead of time() and time_t, but it'd touch a lot of places in
> libpq and it'd make some of the calculations a lot more complex.
>
> Maybe a better idea would be to convert to using our
> src/include/portability/instr_time.h abstraction? But that
> would be problematic for outside callers.
>
> In any case this doesn't seem like a sane thing to be redesigning
> post-beta. A few months ago maybe we'd have done it, but ...
>
> regards, tom lane
>
view thread (3+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: libpq v17 PQsocketPoll timeout is not granular enough
In-Reply-To: <CAFCRh-8zngmAsYfLyrmz6mDhPPF5uh8YRBCcMJjdUidKBeFSxw@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox