Re: +(pg_lsn, int8) and -(pg_lsn, int8) operators - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: +(pg_lsn, int8) and -(pg_lsn, int8) operators
Date
Msg-id 20200428060328.GF279958@paquier.xyz
Whole thread Raw
In response to Re: +(pg_lsn, int8) and -(pg_lsn, int8) operators  (Fujii Masao <masao.fujii@oss.nttdata.com>)
Responses Re: +(pg_lsn, int8) and -(pg_lsn, int8) operators
List pgsql-hackers
On Tue, Apr 28, 2020 at 12:56:19PM +0900, Fujii Masao wrote:
> Yes. Attached is the updated version of the patch, which introduces
> +(pg_lsn, numeric) and -(pg_lsn, numeric) operators.
> To implement them, I added also numeric_pg_lsn() function that converts
> numeric to pg_lsn.

-    those write-ahead log locations.
+    those write-ahead log locations. Also the number of bytes can be added
+    into and substracted from LSN using the <literal>+</literal> and
+    <literal>-</literal> operators, respectively.
That's short.  Should this mention the restriction with numeric (or
just recommend its use) because we don't have a 64b unsigned type
internally, basically Robert's point?

+   /* XXX would it be better to return NULL? */
+   if (NUMERIC_IS_NAN(num))
+       ereport(ERROR,
+               (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+                errmsg("cannot convert NaN to pg_lsn")));
That would be good to test, and an error sounds fine to me.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: Why are wait events not reported even though it reads/writes atimeline history file?
Next
From: Michael Paquier
Date:
Subject: Re: Why are wait events not reported even though it reads/writes atimeline history file?