Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wfgr8-005aoT-0b for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Jul 2026 16:35:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wfgr5-008U8P-37 for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Jul 2026 16:35:07 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wfgr5-008U8H-1N for pgsql-hackers@lists.postgresql.org; Fri, 03 Jul 2026 16:35:07 +0000 Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wfgr3-00000001Ksd-33LE for pgsql-hackers@lists.postgresql.org; Fri, 03 Jul 2026 16:35:06 +0000 Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-37df72c9984so643992a91.3 for ; Fri, 03 Jul 2026 09:35:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1783096505; cv=none; d=google.com; s=arc-20260327; b=V0GRpMO+z65Aa8/ah60ULcySW3/36zK2XnfYtST60IM8HwX9LaLcdsSKdbyOpgHJmh ZBBug3IMcIwzedIrRHPiTa0QTg/pUFKPBEaKCSyIWAFMt77T71vgIT2yS8ipRhQi6QOu P0xMwFvTQ4AAiu4/uLzYz9SmXevreBxl0O5dadvFb0C/A3/SqMNS8Xh8nCk1cCrpkRm2 oqQyhov2lazUpdGLyoK+DNo1+ubkAuxoUZ3jsgA+qP0brOi8sYC4JewOqiZ3LCnSZKSD MGUgubn1whOiYSKLRYkylat6QWIZn6aCj8SFAY3Ys97QZMmoxaFr/T/zkhRA+J1mGQwE z7SQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=yDDieuPGhrvq3k2ZnWM+8SIdpnZQ7U17PG/0sJZQmkA=; fh=pPKNAu+fhhPn87XGXxz5IkmLh9x1xxnMxJH/qcNPOLU=; b=XS5MLYkGpBp1/323Scb/jeJX46sOxJ7HwUKBZmQ6l+KOxQMQmo2bS/mpTgZcx/xupi 6Uao1njSEO+9lTrDK3yqAMfrx35qBB3xsC7wrnPPbfRTgE/S0GFUOvl4hVCyvm6l0tO1 ArKUjWClor0l8HnDMa9JPDUKggN+QCFYI/SRoaXQHD5tiVIqTrQISdjlQpLLKGac+4Gw 3uC9j1p9WOmMQiCvKfm7gDsjN9/XCu0TbvSQA87uQ34obm0ySYCpo1Jb00V3NK1g8U4x eW7AtOvqik6BmvrH7qJJcCVNz8YlkF9yTtLn1YNRDzTDa4ztjPlhjy3ixyS1NcQBl7HA FbAw==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783096505; x=1783701305; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=yDDieuPGhrvq3k2ZnWM+8SIdpnZQ7U17PG/0sJZQmkA=; b=WSZJwmovEq/31lrLeXRuyuAy6MJTkXzASQqcQn+n4rk43Mlg7wuOf9bOHslreVNdTq 81vlcpysN5sAc2HwFLJh0YMDCC1rbOfjK7MS9orQnJ1tkY2cnG0zig66xMsgVoc5iUKp zU5AdO7qA8kGuo/st/Qt2DwVQ/3eaJmVNYzvwoBVaC6dwgmZyzK5xa24SbxfZnEVlIAM 3KluD7U/LHpRi6Zy7TpHFXmBhwm689Q0y3RahOo76M4mpzUn5qdr/LsqsYDyc042a8ri 5x/BsGogOWMOmoyLoAQykeKxSNgs+vHVVeRmTL97Ao3xXy04ris6Cfhphj/F2IeCikRh YRZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783096505; x=1783701305; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=yDDieuPGhrvq3k2ZnWM+8SIdpnZQ7U17PG/0sJZQmkA=; b=TG9nr6+/IBLeUVfDkvXz6dFuS+Exf4Sa/y8dSMeOtIzHEy2kLJSuSQDIqn6BMpnqF9 4XhzDnC17tQjo1IZsLd4MDSQssAjpt8dyQMKuTugDCuS9Jr6ecqbz0y3xm9R+lq9xNBc 7KGfnIzoTUbHZRwt5L8sa8M8SeNT1WUPFxe2FEphCzm4tTayf5JpnDXELlGazb0Uan2a shYfa4547gAIZVHs+OIvIJhf4mjmggi7xmkb6q3aHJCePXGjkAHjjsGzugcJFfoVo4S7 lqtHjFNY+OKrJ++qtpUi+LSLtaGt/wxDHnx3INDp4ukJsWgbgefRSkkOoEQLZwHrdBq3 nlgg== X-Forwarded-Encrypted: i=1; AHgh+RpxdVGmxqNe2j7XXKKbzG8xVSVCz2jU2doj/ZVNk+mHQJotaXkASHfCX9gVfpK76YmXOdK3ZC/wGh9FIpCL@lists.postgresql.org X-Gm-Message-State: AOJu0YwsjCIhd6THLZstvy3cKLakcEZrVfSuN0tbyWwxtF4AXeVNAcTV v9rS9thM1wKQoewLDPktEIf0jOXHWsZRgffVpXjizqkOmceNQ10mCgREaCigi1cK7dqQ9exhMqA btTKLwMjpr+rbxkrRZkjUj140jpOEkcc= X-Gm-Gg: AfdE7clIKkyeMtFcRsxTy1UaFZLpD4mfjtzFar91+t0q4MJEcIP+vS4XG7KpNLTgyvB CQvgJ0bB1Ts2bXXR/XjNk9t1kOEQX34C6bPy2VMBQnFnQ5LyXIqWNzIKAavFNhiBDRBgu1cuq5d AkGAcyPwvFT4y4JVpygCM6XyjHYRzMafAOEi6j05RRiqxdO56cOjxa1eA4N5tLB4Gu/XT24XEfd 1I9aIKYp84iIlz6EbCI8HMR99cdvg8/fZWt6XYj4de9rs7Nlny7QY0ueuH8RScH8e6kd7y+5/A9 h9wkgzS69yyYdYP9hzKaBTynA5ly4B7eWgXqNlQGUQ== X-Received: by 2002:a17:90b:384b:b0:37f:ceed:e1d8 with SMTP id 98e67ed59e1d1-38280e98d05mr242572a91.12.1783096504644; Fri, 03 Jul 2026 09:35:04 -0700 (PDT) MIME-Version: 1.0 References: <20260625.111954.696627555349573162.horikyota.ntt@gmail.com> In-Reply-To: From: Baji Shaik Date: Fri, 3 Jul 2026 11:34:51 -0500 X-Gm-Features: AVVi8Cc-eyFEH-LCN-EFm2Yt74dqHUCSW1JXy4nBSpu45OcwHUJFebhe6VZVwbw Message-ID: Subject: Re: uuidv7 improperly accepts dates before 1970-01-01 To: Masahiko Sawada Cc: Kyotaro Horiguchi , zsolt.parragi@percona.com, pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="000000000000c296d90655b781fe" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c296d90655b781fe Content-Type: multipart/alternative; boundary="000000000000c296d70655b781fc" --000000000000c296d70655b781fc Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Jun 29, 2026 at 6:18=E2=80=AFPM Masahiko Sawada wrote: > It does the range validation on the Unix-epoch value, after converting > back from the shifted PostgreSQL-epoch timestamp. Can we compare > pre-compute the Unix-epoch timestamp resentable window in > PostgreSQL-epoch units against the shifted PostgreSQL-epoch timestamp > before converting it back to the Unix epoch? That way, we don't need > to worry about the overflow. > > Let's merge these two if statements as they use the same error message. > Thanks for the review. Attached v4 addressing your feedback: - 0002 now pre-computes the valid timestamp range in PostgreSQL-epoch units (UUIDV7_MIN_TIMESTAMP / UUIDV7_MAX_TIMESTAMP) and validates the shifted TimestampTz directly, before converting to Unix epoch. This eliminates the overflow concern entirely. - The pre-epoch and upper-bound checks are merged into a single if statement. 0001 (infinite intervals) is unchanged from v3. Thanks, Baji Shaik --000000000000c296d70655b781fc Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Mon, Jun 29, 2026 at 6:18=E2=80=AFPM Masahiko Sawada <sawada.mshk@gmail.com> wrote:
It does the range validation on the Unix-epoch value, after converting
back from the shifted PostgreSQL-epoch timestamp. Can we compare
pre-compute the Unix-epoch timestamp resentable window in
PostgreSQL-epoch units against the shifted PostgreSQL-epoch timestamp
before converting it back to the Unix epoch? That way, we don't need to worry about the overflow.

Let's merge these two if statements as they use the same error message.=

Thanks for the review. Attached v4 addressi= ng your feedback:

- 0002 now pre-computes the valid timestamp range = in PostgreSQL-epoch
=C2=A0units (UUIDV7_MIN_TIMESTAMP / UUIDV7_MAX_TIMES= TAMP) and validates
=C2=A0the shifted TimestampTz directly, before conve= rting to Unix epoch.
=C2=A0This eliminates the overflow concern entirely= .

- The pre-epoch and upper-bound checks are merged into a single if= statement.

0001 (infinite intervals) is unchanged from v3.

T= hanks,
Baji Shaik=C2=A0
--000000000000c296d70655b781fc-- --000000000000c296d90655b781fe Content-Type: application/octet-stream; name="v4-0002-Reject-out-of-range-timestamps-in-uuidv7-interval.patch" Content-Disposition: attachment; filename="v4-0002-Reject-out-of-range-timestamps-in-uuidv7-interval.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mr55ksew0 RnJvbSBmYzg3NGU2ZjY5YzliYjA1ZmZjODM2Y2U2NGJjZmJkMjA4NjYyYWZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCYWppIFNoYWlrIDxiYWppLnBnZGV2QGdtYWlsLmNvbT4KRGF0 ZTogRnJpLCAzIEp1bCAyMDI2IDEwOjQ3OjE0IC0wNTAwClN1YmplY3Q6IFtQQVRDSCB2NCAyLzJd IFJlamVjdCBvdXQtb2YtcmFuZ2UgdGltZXN0YW1wcyBpbiB1dWlkdjcoaW50ZXJ2YWwpCgp1dWlk djcoKSB3aXRoIGEgbGFyZ2UgbmVnYXRpdmUgb3IgcG9zaXRpdmUgaW50ZXJ2YWwgc2lsZW50bHkg cHJvZHVjZWQKVVVJRHMgd2hvc2UgdGltZXN0YW1wIHdhcyBvdXRzaWRlIHRoZSByYW5nZSByZXBy ZXNlbnRhYmxlIGJ5IFVVSUQKdmVyc2lvbiA3J3MgNDgtYml0IG1pbGxpc2Vjb25kIGZpZWxkLgoK Rml4IGJ5IHByZS1jb21wdXRpbmcgdGhlIHZhbGlkIHRpbWVzdGFtcCB3aW5kb3cgaW4gUG9zdGdy ZVNRTC1lcG9jaAp1bml0cyAoVVVJRFY3X01JTl9USU1FU1RBTVAgYW5kIFVVSURWN19NQVhfVElN RVNUQU1QKSBhbmQgdmFsaWRhdGluZwp0aGUgc2hpZnRlZCBUaW1lc3RhbXBUeiBiZWZvcmUgY29u dmVydGluZyB0byBVbml4IGVwb2NoLiAgVGhpcyBhdm9pZHMKb3ZlcmZsb3cgY29uY2VybnMgZW50 aXJlbHkgYW5kIGNvbnNvbGlkYXRlcyB0aGUgbG93ZXItYm91bmQgYW5kCnVwcGVyLWJvdW5kIGNo ZWNrcyBpbnRvIGEgc2luZ2xlIGNvbmRpdGlvbi4KCkFsc28gZG9jdW1lbnQgdGhlIHZhbGlkIHRp bWVzdGFtcCByYW5nZSBmb3IgdGhlIHNoaWZ0IHBhcmFtZXRlci4KCkF1dGhvcjogQmFqaSBTaGFp ayA8YmFqaS5wZ2RldkBnbWFpbC5jb20+CkRpc2N1c3Npb246IAotLS0KIGRvYy9zcmMvc2dtbC9m dW5jL2Z1bmMtdXVpZC5zZ21sICAgfCAgNSArKysrKwogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3V1 aWQuYyAgICAgICB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC91dWlkLm91dCB8IDEyICsrKysrKysrKysrCiBzcmMvdGVzdC9yZWdy ZXNzL3NxbC91dWlkLnNxbCAgICAgIHwgIDkgKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgNTgg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwv ZnVuYy9mdW5jLXV1aWQuc2dtbCBiL2RvYy9zcmMvc2dtbC9mdW5jL2Z1bmMtdXVpZC5zZ21sCmlu ZGV4IGNmZDQyNDMzYTk1Li44OWZkNTc4MWJjYyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2Z1 bmMvZnVuYy11dWlkLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy11dWlkLnNnbWwK QEAgLTgzLDYgKzgzLDExIEBACiAgICAgICAgIHBhcmFtZXRlciA8cGFyYW1ldGVyPnNoaWZ0PC9w YXJhbWV0ZXI+IHdpbGwgc2hpZnQgdGhlIGNvbXB1dGVkCiAgICAgICAgIHRpbWVzdGFtcCBieSB0 aGUgZ2l2ZW4gPHR5cGU+aW50ZXJ2YWw8L3R5cGU+LgogICAgICAgICBJbmZpbml0ZSBpbnRlcnZh bCB2YWx1ZXMgYXJlIG5vdCBhY2NlcHRlZC4KKyAgICAgICAgVGhlIHNoaWZ0ZWQgdGltZXN0YW1w IG11c3QgZmFsbCB3aXRoaW4gdGhlIHJhbmdlIHN1cHBvcnRlZCBieQorICAgICAgICBVVUlEIHZl cnNpb24gNydzIDQ4LWJpdCBtaWxsaXNlY29uZCB0aW1lc3RhbXAgZmllbGQ6IGZyb20KKyAgICAg ICAgMTk3MC0wMS0wMSAwMDowMDowMCBVVEMgdG8gYXBwcm94aW1hdGVseSB5ZWFyIDEwODg5Lgor ICAgICAgICBBbiBlcnJvciBpcyByYWlzZWQgaWYgdGhlIHJlc3VsdGluZyB0aW1lc3RhbXAgaXMg b3V0c2lkZSB0aGlzCisgICAgICAgIHJhbmdlLgogICAgICAgIDwvcGFyYT4KICAgICAgICA8cGFy YT4KICAgICAgICAgPGxpdGVyYWw+dXVpZHY3KCk8L2xpdGVyYWw+CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC91dGlscy9hZHQvdXVpZC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3V1aWQuYwpp bmRleCBiYTNjMzBiOGViYy4uMjZiOGJmZWVjZjYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC91dWlkLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3V1aWQuYwpAQCAtMzMs NiArMzMsMjUgQEAKICNkZWZpbmUgTlNfUEVSX1VTCUlOVDY0Q09OU1QoMTAwMCkKICNkZWZpbmUg VVNfUEVSX01TCUlOVDY0Q09OU1QoMTAwMCkKIAorLyoKKyAqIFRoZSBvZmZzZXQgYmV0d2VlbiB0 aGUgUG9zdGdyZVNRTCBlcG9jaCAoMjAwMC0wMS0wMSkgYW5kIHRoZSBVbml4IGVwb2NoCisgKiAo MTk3MC0wMS0wMSkgaW4gbWljcm9zZWNvbmRzLgorICovCisjZGVmaW5lIFVVSURWN19FUE9DSF9P RkZTRVQgXAorCSgoaW50NjQpIChQT1NUR1JFU19FUE9DSF9KREFURSAtIFVOSVhfRVBPQ0hfSkRB VEUpICogU0VDU19QRVJfREFZICogVVNFQ1NfUEVSX1NFQykKKworLyoKKyAqIFZhbGlkIHRpbWVz dGFtcCByYW5nZSBmb3IgVVVJRCB2ZXJzaW9uIDcsIGV4cHJlc3NlZCBpbiBQb3N0Z3JlU1FMLWVw b2NoCisgKiBtaWNyb3NlY29uZHMuICBVVUlEIHY3IHVzZXMgYSA0OC1iaXQgdW5zaWduZWQgbWls bGlzZWNvbmQgZmllbGQgcmVsYXRpdmUKKyAqIHRvIHRoZSBVbml4IGVwb2NoLCBzbyB0aGUgcmVw cmVzZW50YWJsZSB3aW5kb3cgaXMgWzE5NzAtMDEtMDEsIH4xMDg4OV0uCisgKgorICogQnkgcHJl LWNvbXB1dGluZyB0aGVzZSBib3VuZHMgaW4gUG9zdGdyZVNRTC1lcG9jaCB1bml0cyB3ZSBjYW4g dmFsaWRhdGUKKyAqIHRoZSBzaGlmdGVkIFRpbWVzdGFtcFR6IGRpcmVjdGx5LCBhdm9pZGluZyBv dmVyZmxvdyBkdXJpbmcgY29udmVyc2lvbi4KKyAqLworI2RlZmluZSBVVUlEVjdfTUlOX1RJTUVT VEFNUAkoLVVVSURWN19FUE9DSF9PRkZTRVQpCisjZGVmaW5lIFVVSURWN19NQVhfVElNRVNUQU1Q IFwKKwkoKChJTlQ2NENPTlNUKDEpIDw8IDQ4KSAtIDEpICogVVNfUEVSX01TIC0gVVVJRFY3X0VQ T0NIX09GRlNFVCkKKwogLyoKICAqIFVVSUQgdmVyc2lvbiA3IHVzZXMgMTIgYml0cyBpbiAicmFu ZF9hIiB0byBzdG9yZSAgMS80MDk2IChvciAyXjEyKSBmcmFjdGlvbnMgb2YKICAqIHN1Yi1taWxs aXNlY29uZC4gV2hpbGUgbW9zdCBVbml4LWxpa2UgcGxhdGZvcm1zIHByb3ZpZGUgbmFub3NlY29u ZC1wcmVjaXNpb24KQEAgLTcxMiw4ICs3MzEsMTkgQEAgdXVpZHY3X2ludGVydmFsKFBHX0ZVTkNU SU9OX0FSR1MpCiAJCQkJCQkJCQkJCQkgVGltZXN0YW1wVHpHZXREYXR1bSh0cyksCiAJCQkJCQkJ CQkJCQkgSW50ZXJ2YWxQR2V0RGF0dW0oc2hpZnQpKSk7CiAKLQkvKiBDb252ZXJ0IGEgVGltZXN0 YW1wVHogdmFsdWUgYmFjayB0byBhbiBVTklYIGVwb2NoIHRpbWVzdGFtcCAqLwotCXVzID0gdHMg KyAoUE9TVEdSRVNfRVBPQ0hfSkRBVEUgLSBVTklYX0VQT0NIX0pEQVRFKSAqIFNFQ1NfUEVSX0RB WSAqIFVTRUNTX1BFUl9TRUM7CisJLyoKKwkgKiBSZWplY3QgdGltZXN0YW1wcyBvdXRzaWRlIHRo ZSByYW5nZSByZXByZXNlbnRhYmxlIGJ5IFVVSUQgdmVyc2lvbiA3J3MKKwkgKiA0OC1iaXQgbWls bGlzZWNvbmQgZmllbGQuICBXZSBjb21wYXJlIGluIFBvc3RncmVTUUwtZXBvY2ggdW5pdHMgc28g dGhhdAorCSAqIHRoZSBzdWJzZXF1ZW50IGNvbnZlcnNpb24gdG8gVW5peC1lcG9jaCBtaWNyb3Nl Y29uZHMgY2Fubm90IG92ZXJmbG93LgorCSAqLworCWlmICh0cyA8IFVVSURWN19NSU5fVElNRVNU QU1QIHx8IHRzID4gVVVJRFY3X01BWF9USU1FU1RBTVApCisJCWVyZXBvcnQoRVJST1IsCisJCQkJ KGVycmNvZGUoRVJSQ09ERV9EQVRFVElNRV9WQUxVRV9PVVRfT0ZfUkFOR0UpLAorCQkJCSBlcnJt c2coInRpbWVzdGFtcCBvdXQgb2YgcmFuZ2UgZm9yIFVVSUQgdmVyc2lvbiA3IiksCisJCQkJIGVy cmRldGFpbCgiVVVJRCB2ZXJzaW9uIDcgc3VwcG9ydHMgdGltZXN0YW1wcyBmcm9tIDE5NzAtMDEt MDEgdG8gYXBwcm94aW1hdGVseSB5ZWFyIDEwODg5LiIpKSk7CisKKwkvKiBDb252ZXJ0IHRoZSBU aW1lc3RhbXBUeiB2YWx1ZSB0byBhIFVuaXgtZXBvY2ggdGltZXN0YW1wIGluIHVzZWMgKi8KKwl1 cyA9IHRzICsgVVVJRFY3X0VQT0NIX09GRlNFVDsKIAogCS8qIEdlbmVyYXRlIGFuIFVVSUR2NyAq LwogCXV1aWQgPSBnZW5lcmF0ZV91dWlkdjcodXMgLyBVU19QRVJfTVMsICh1cyAlIFVTX1BFUl9N UykgKiBOU19QRVJfVVMgKyBucyAlIE5TX1BFUl9VUyk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3V1aWQub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC91dWlk Lm91dAppbmRleCAwOTM1NjUxZjFlYi4uMjg2NTA3MTAxZDggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvdXVpZC5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC91dWlkLm91dApAQCAtMjc1LDYgKzI3NSwxOCBAQCBERVRBSUw6ICBVVUlEIHZlcnNpb24gNyBk b2VzIG5vdCBzdXBwb3J0IGluZmluaXRlIGludGVydmFscy4KIFNFTEVDVCB1dWlkdjcoJy1pbmZp bml0eSc6OmludGVydmFsKTsKIEVSUk9SOiAgaW50ZXJ2YWwgb3V0IG9mIHJhbmdlIGZvciBVVUlE IHZlcnNpb24gNwogREVUQUlMOiAgVVVJRCB2ZXJzaW9uIDcgZG9lcyBub3Qgc3VwcG9ydCBpbmZp bml0ZSBpbnRlcnZhbHMuCistLSB1dWlkdjc6IHRpbWVzdGFtcHMgYmVmb3JlIFVuaXggZXBvY2gg YXJlIHJlamVjdGVkCitTRUxFQ1QgdXVpZHY3KCctMTAwMCB5ZWFycyc6OmludGVydmFsKTsKK0VS Uk9SOiAgdGltZXN0YW1wIG91dCBvZiByYW5nZSBmb3IgVVVJRCB2ZXJzaW9uIDcKK0RFVEFJTDog IFVVSUQgdmVyc2lvbiA3IHN1cHBvcnRzIHRpbWVzdGFtcHMgZnJvbSAxOTcwLTAxLTAxIHRvIGFw cHJveGltYXRlbHkgeWVhciAxMDg4OS4KKy0tIHV1aWR2NzogdGltZXN0YW1wcyBiZXlvbmQgNDgt Yml0IG1zIGZpZWxkICh+eWVhciAxMDg4OSkgYXJlIHJlamVjdGVkCitTRUxFQ1QgdXVpZHY3KCc5 MDAwIHllYXJzJzo6aW50ZXJ2YWwpOworRVJST1I6ICB0aW1lc3RhbXAgb3V0IG9mIHJhbmdlIGZv ciBVVUlEIHZlcnNpb24gNworREVUQUlMOiAgVVVJRCB2ZXJzaW9uIDcgc3VwcG9ydHMgdGltZXN0 YW1wcyBmcm9tIDE5NzAtMDEtMDEgdG8gYXBwcm94aW1hdGVseSB5ZWFyIDEwODg5LgorLS0gdXVp ZHY3OiBsYXJnZSBmdXR1cmUgaW50ZXJ2YWxzIHRoYXQgb3ZlcmZsb3cgZXBvY2ggY29udmVyc2lv biBhcmUgcmVqZWN0ZWQKK1NFTEVDVCB1dWlkdjcoJzI5MjIzMCB5ZWFycyc6OmludGVydmFsKTsK K0VSUk9SOiAgdGltZXN0YW1wIG91dCBvZiByYW5nZSBmb3IgVVVJRCB2ZXJzaW9uIDcKK0RFVEFJ TDogIFVVSUQgdmVyc2lvbiA3IHN1cHBvcnRzIHRpbWVzdGFtcHMgZnJvbSAxOTcwLTAxLTAxIHRv IGFwcHJveGltYXRlbHkgeWVhciAxMDg4OS4KIC0tIGV4dHJhY3QgZnVuY3Rpb25zCiAtLSB2ZXJz aW9uCiBTRUxFQ1QgdXVpZF9leHRyYWN0X3ZlcnNpb24oJzExMTExMTExLTExMTEtNTExMS04MTEx LTExMTExMTExMTExMScpOyAgLS0gNQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv dXVpZC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC91dWlkLnNxbAppbmRleCA5ZWU2NGE1ZmE5 Yy4uNTI1ZWNiMWE5NDYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3V1aWQuc3Fs CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3V1aWQuc3FsCkBAIC0xNDcsNiArMTQ3LDE1IEBA IFNFTEVDVCB5LCB0cywgcHJldl90cyBGUk9NIHV1aWR0cyBXSEVSRSB0cyA8IHByZXZfdHM7CiBT RUxFQ1QgdXVpZHY3KCdpbmZpbml0eSc6OmludGVydmFsKTsKIFNFTEVDVCB1dWlkdjcoJy1pbmZp bml0eSc6OmludGVydmFsKTsKIAorLS0gdXVpZHY3OiB0aW1lc3RhbXBzIGJlZm9yZSBVbml4IGVw b2NoIGFyZSByZWplY3RlZAorU0VMRUNUIHV1aWR2NygnLTEwMDAgeWVhcnMnOjppbnRlcnZhbCk7 CisKKy0tIHV1aWR2NzogdGltZXN0YW1wcyBiZXlvbmQgNDgtYml0IG1zIGZpZWxkICh+eWVhciAx MDg4OSkgYXJlIHJlamVjdGVkCitTRUxFQ1QgdXVpZHY3KCc5MDAwIHllYXJzJzo6aW50ZXJ2YWwp OworCistLSB1dWlkdjc6IGxhcmdlIGZ1dHVyZSBpbnRlcnZhbHMgdGhhdCBvdmVyZmxvdyBlcG9j aCBjb252ZXJzaW9uIGFyZSByZWplY3RlZAorU0VMRUNUIHV1aWR2NygnMjkyMjMwIHllYXJzJzo6 aW50ZXJ2YWwpOworCiAtLSBleHRyYWN0IGZ1bmN0aW9ucwogCiAtLSB2ZXJzaW9uCi0tIAoyLjUw LjEgKEFwcGxlIEdpdC0xNTUpCgo= --000000000000c296d90655b781fe Content-Type: application/octet-stream; name="v4-0001-Reject-infinite-intervals-in-uuidv7-interval.patch" Content-Disposition: attachment; filename="v4-0001-Reject-infinite-intervals-in-uuidv7-interval.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mr55ksf11 RnJvbSA0OWFhNzVkYTM0ZTc1NDlmOTAwYzdmMWY2NDFlNjE3OGNiY2M4ZDQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCYWppIFNoYWlrIDxiYWppLnBnZGV2QGdtYWlsLmNvbT4KRGF0 ZTogRnJpLCAzIEp1bCAyMDI2IDEwOjQ0OjQ3IC0wNTAwClN1YmplY3Q6IFtQQVRDSCB2NCAxLzJd IFJlamVjdCBpbmZpbml0ZSBpbnRlcnZhbHMgaW4gdXVpZHY3KGludGVydmFsKQoKdXVpZHY3KCdp bmZpbml0eSc6OmludGVydmFsKSBjYXVzZWQgaW50ZWdlciBvdmVyZmxvdyBkdXJpbmcgdGhlIGVw b2NoCmNvbnZlcnNpb24sIHByb2R1Y2luZyBnYXJiYWdlIFVVSURzLiAgUmVqZWN0IGluZmluaXRl IGludGVydmFscyB1cApmcm9udCwgYmVmb3JlIGFueSB0aW1lc3RhbXAgYXJpdGhtZXRpYyBpcyBw ZXJmb3JtZWQuCgpBbHNvIG1lbnRpb24gaW4gdGhlIGRvY3VtZW50YXRpb24gdGhhdCBpbmZpbml0 ZSBpbnRlcnZhbCB2YWx1ZXMgYXJlCm5vdCBhY2NlcHRlZC4KCkF1dGhvcjogQmFqaSBTaGFpayA8 YmFqaS5wZ2RldkBnbWFpbC5jb20+CkRpc2N1c3Npb246IAotLS0KIGRvYy9zcmMvc2dtbC9mdW5j L2Z1bmMtdXVpZC5zZ21sICAgfCAxICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC91dWlkLmMgICAg ICAgfCA3ICsrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdXVpZC5vdXQgfCA3ICsr KysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3V1aWQuc3FsICAgICAgfCA0ICsrKysKIDQgZmls ZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9m dW5jL2Z1bmMtdXVpZC5zZ21sIGIvZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy11dWlkLnNnbWwKaW5k ZXggMjYzOGUyYmY4NTUuLmNmZDQyNDMzYTk1IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvZnVu Yy9mdW5jLXV1aWQuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZnVuYy9mdW5jLXV1aWQuc2dtbApA QCAtODIsNiArODIsNyBAQAogICAgICAgICBzdWItbWlsbGlzZWNvbmQgdGltZXN0YW1wICsgcmFu ZG9tLiBUaGUgb3B0aW9uYWwKICAgICAgICAgcGFyYW1ldGVyIDxwYXJhbWV0ZXI+c2hpZnQ8L3Bh cmFtZXRlcj4gd2lsbCBzaGlmdCB0aGUgY29tcHV0ZWQKICAgICAgICAgdGltZXN0YW1wIGJ5IHRo ZSBnaXZlbiA8dHlwZT5pbnRlcnZhbDwvdHlwZT4uCisgICAgICAgIEluZmluaXRlIGludGVydmFs IHZhbHVlcyBhcmUgbm90IGFjY2VwdGVkLgogICAgICAgIDwvcGFyYT4KICAgICAgICA8cGFyYT4K ICAgICAgICAgPGxpdGVyYWw+dXVpZHY3KCk8L2xpdGVyYWw+CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC91dGlscy9hZHQvdXVpZC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3V1aWQuYwppbmRl eCAyZDMzYmEyNjQwYi4uYmEzYzMwYjhlYmMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC91dWlkLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3V1aWQuYwpAQCAtNjkwLDYg KzY5MCwxMyBAQCB1dWlkdjdfaW50ZXJ2YWwoUEdfRlVOQ1RJT05fQVJHUykKIAlpbnQ2NAkJbnMg PSBnZXRfcmVhbF90aW1lX25zX2FzY2VuZGluZygpOwogCWludDY0CQl1czsKIAorCS8qIFJlamVj dCBpbmZpbml0ZSBpbnRlcnZhbHMgYmVmb3JlIGFueSBhcml0aG1ldGljICovCisJaWYgKElOVEVS VkFMX05PVF9GSU5JVEUoc2hpZnQpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVS UkNPREVfREFURVRJTUVfVkFMVUVfT1VUX09GX1JBTkdFKSwKKwkJCQkgZXJybXNnKCJpbnRlcnZh bCBvdXQgb2YgcmFuZ2UgZm9yIFVVSUQgdmVyc2lvbiA3IiksCisJCQkJIGVycmRldGFpbCgiVVVJ RCB2ZXJzaW9uIDcgZG9lcyBub3Qgc3VwcG9ydCBpbmZpbml0ZSBpbnRlcnZhbHMuIikpKTsKKwog CS8qCiAJICogU2hpZnQgdGhlIGN1cnJlbnQgdGltZXN0YW1wIGJ5IHRoZSBnaXZlbiBpbnRlcnZh bC4gVG8gY2FsY3VsYXRlIHRpbWUKIAkgKiBzaGlmdCBjb3JyZWN0bHksIHdlIGNvbnZlcnQgdGhl IFVOSVggZXBvY2ggdG8gVGltZXN0YW1wVHogYW5kIHVzZQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC91dWlkLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdXVp ZC5vdXQKaW5kZXggY2Q3Y2Q4YjcxMWMuLjA5MzU2NTFmMWViIDEwMDY0NAotLS0gYS9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3V1aWQub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvdXVpZC5vdXQKQEAgLTI2OCw2ICsyNjgsMTMgQEAgU0VMRUNUIHksIHRzLCBwcmV2X3RzIEZS T00gdXVpZHRzIFdIRVJFIHRzIDwgcHJldl90czsKIC0tLSstLS0tKy0tLS0tLS0tLQogKDAgcm93 cykKIAorLS0gdXVpZHY3OiBpbmZpbml0ZSBpbnRlcnZhbHMgYXJlIHJlamVjdGVkCitTRUxFQ1Qg dXVpZHY3KCdpbmZpbml0eSc6OmludGVydmFsKTsKK0VSUk9SOiAgaW50ZXJ2YWwgb3V0IG9mIHJh bmdlIGZvciBVVUlEIHZlcnNpb24gNworREVUQUlMOiAgVVVJRCB2ZXJzaW9uIDcgZG9lcyBub3Qg c3VwcG9ydCBpbmZpbml0ZSBpbnRlcnZhbHMuCitTRUxFQ1QgdXVpZHY3KCctaW5maW5pdHknOjpp bnRlcnZhbCk7CitFUlJPUjogIGludGVydmFsIG91dCBvZiByYW5nZSBmb3IgVVVJRCB2ZXJzaW9u IDcKK0RFVEFJTDogIFVVSUQgdmVyc2lvbiA3IGRvZXMgbm90IHN1cHBvcnQgaW5maW5pdGUgaW50 ZXJ2YWxzLgogLS0gZXh0cmFjdCBmdW5jdGlvbnMKIC0tIHZlcnNpb24KIFNFTEVDVCB1dWlkX2V4 dHJhY3RfdmVyc2lvbignMTExMTExMTEtMTExMS01MTExLTgxMTEtMTExMTExMTExMTExJyk7ICAt LSA1CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC91dWlkLnNxbCBiL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3V1aWQuc3FsCmluZGV4IGQwNDgxYTE1MDIyLi45ZWU2NGE1ZmE5YyAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvdXVpZC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvdXVpZC5zcWwKQEAgLTE0Myw2ICsxNDMsMTAgQEAgV0lUSCB1dWlkdHMgQVMgKAog KQogU0VMRUNUIHksIHRzLCBwcmV2X3RzIEZST00gdXVpZHRzIFdIRVJFIHRzIDwgcHJldl90czsK IAorLS0gdXVpZHY3OiBpbmZpbml0ZSBpbnRlcnZhbHMgYXJlIHJlamVjdGVkCitTRUxFQ1QgdXVp ZHY3KCdpbmZpbml0eSc6OmludGVydmFsKTsKK1NFTEVDVCB1dWlkdjcoJy1pbmZpbml0eSc6Omlu dGVydmFsKTsKKwogLS0gZXh0cmFjdCBmdW5jdGlvbnMKIAogLS0gdmVyc2lvbgotLSAKMi41MC4x IChBcHBsZSBHaXQtMTU1KQoK --000000000000c296d90655b781fe--