Re: pgsql: Add contrib/pg_walinspect.
| От | Bharath Rupireddy |
|---|---|
| Тема | Re: pgsql: Add contrib/pg_walinspect. |
| Дата | |
| Msg-id | CALj2ACVDYTeiWF8pKv9iz1kbTajunS96pWwLtyaRq_rxwAHrKg@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: pgsql: Add contrib/pg_walinspect. (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: pgsql: Add contrib/pg_walinspect.
|
| Список | pgsql-hackers |
On Wed, Apr 27, 2022 at 8:45 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> I wrote:
> > Thomas Munro <thomas.munro@gmail.com> writes:
> >> BTW If you had your local change from debug.patch (upthread), that'd
> >> defeat the patch. I mean this:
>
> >> + if(!*errormsg)
> >> + *errormsg = "decode_queue_head is null";
>
> > Oh! Okay, I'll retry without that.
>
> I've now done several runs with your patch and not seen the test failure.
> However, I think we ought to rethink this API a bit rather than just
> apply the patch as-is. Even if it were documented, relying on
> errormsg = NULL to mean something doesn't seem like a great plan.
Sorry for being late in the game, occupied with other stuff.
How about using private_data of XLogReaderState for
read_local_xlog_page_no_wait, something like this?
typedef struct ReadLocalXLogPageNoWaitPrivate
{
bool end_of_wal;
} ReadLocalXLogPageNoWaitPrivate;
In read_local_xlog_page_no_wait:
/* If asked, let's not wait for future WAL. */
if (!wait_for_wal)
{
private_data->end_of_wal = true;
break;
}
/*
* Opaque data for callbacks to use. Not used by XLogReader.
*/
void *private_data;
Regards,
Bharath Rupireddy.
В списке pgsql-hackers по дате отправления: