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 1wJPTv-000Nbm-36 for pgsql-hackers@arkaria.postgresql.org; Sun, 03 May 2026 05:35:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wJPTu-002UxC-1o for pgsql-hackers@arkaria.postgresql.org; Sun, 03 May 2026 05:35:06 +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 1wJPTu-002Ux4-0T for pgsql-hackers@lists.postgresql.org; Sun, 03 May 2026 05:35:06 +0000 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wJPTp-000000009qF-1qCy for pgsql-hackers@postgresql.org; Sun, 03 May 2026 05:35:05 +0000 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-678e678970fso4274804a12.2 for ; Sat, 02 May 2026 22:35:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777786500; cv=none; d=google.com; s=arc-20240605; b=iUON+nJOEX4MlYFZG9jPThA+c7cHTAksUyM1GT5P2VPnNSX3S25Y2HdF8TvhTT4JpD e1fEPh52m0l6QH/mtJLxpQ9d1ZwcIj0sRe2xLKTeoWchEkllmIeuozLXiwD3jxJfLptQ T9F5puKozsXykiX9bOl2yb+8hseuOP9STPepoDm9CN0qV2OlkE1NmdAt9ZZ8RBwomFAx /kx9kSzvA/95IJbMZV6xJSHEDTU4PNquecE0es6/bSlSBl2iujxR0fiJ1+0tLYAAF1Ew k8V9U2dPILNc59SHyPvQ5DrryY6WcskFBAblJoDRP8anX4O1WRonJ+YRbCWRtEAXMM8d cl/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:dkim-signature; bh=y3Od4yock7r5HxH9rDBDpJwplA+hjC65cOrGDLbRKBQ=; fh=2NTPaTnfB8bGL4zb77IbCGko1NdZUPayj/thQpr0ZTw=; b=XPnah79HeHWz49ro7cKuw1nYrH84zrWgaoPvLLLN2vP03ovrk3DBh2rzWA8sj+HIuG dWkZItenOiySRWkNtQjRpdWAHGOIZii3BeBngZUYM9Fx+pZV6VOkQnCWHko4xXBOURgx s7KZgzbgw2cxO4ry0GMq1ivPZT+tbw9DI02gsgQ92DbF88iOwvNq+G2QVTgGqKqpuxGJ LOMXKZQsbTLx2ef0lU0SaTPSSnCatu42m/7Ry7oEdytAW4CW61JzrOEoDKnt8NO4STxd DvOxifTFwirLtTmffVTNgFZ/Wyc5t6ezY80ubyfUBzfZQwwy5LzBqXbuiH2ABjWMCbXC 01Ww==; darn=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=1777786500; x=1778391300; darn=postgresql.org; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=y3Od4yock7r5HxH9rDBDpJwplA+hjC65cOrGDLbRKBQ=; b=CEZYlEhSHSs6MxjtEImL3F8YS23/KuGPOmDwB+ccyfJygSgS7TqbSsWMeASLkc+Oqi L1rDfDZW7dHjiEauC/Uwk2mIuVurQtxYFEbPGjymmqglijtU+WoE2Adeytw7GXg+5VqR h0wXgBpxCFu6yeKsLanFPn8Jhe8EVxLuQoagrP2fQ7oKUz+8GIs1HKEoZQyB/gALlbPn Jctl90BNgVatnUY9PQWUxzn9ZUjEKl3raZrKoLFVJNQ/cEmwafMFa4rCDuSsA1MkYlDZ 0VZiqnRnKqKv73YbuwTWXi8O3GhiWaYxAA6+fHZoPWd/uwoG4Ndel6K1v+tGjhykPJZj eXHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777786500; x=1778391300; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=y3Od4yock7r5HxH9rDBDpJwplA+hjC65cOrGDLbRKBQ=; b=ZUd+9KQfoQGxpyJ4G2B3A0bPSvoUpUffJbbJR0wxlXMy5GPTAkeWwPBP83hvGycFYC nyVZbLb3NmXuMoWKMrVnjROxc77aHUWwEKArNckRvJULy4Ufffzr/arpfN6qt+d3ykfh ijXzY/9x1mXqBiOAcgULgjYZmpAheSZzHRWiDAo4rIJxNY00o+InWVFC5yPbgVT4bXZY RuRPkx5xvLu+3EewDbEoqbTCpeksXGr8K9GQV7oaSg31/C1xdnYPOAGGZuctmQ6rBROr P5MhDsXr/QrTPoASFjkIBi8RBZLJnynal+iLalhscDxtkwoPnBZ1eKc9VVaCKC9VvWz/ ImuQ== X-Forwarded-Encrypted: i=1; AFNElJ8bKXLU9hhEjk2wlbXp9PP1ns5I/NG5gL2o0uFzAp/bshg3ZOKcPLRKJKoSLLkO3A0xRKHGpa/HCwZ6oYeY@postgresql.org X-Gm-Message-State: AOJu0Yw1pxXCZziFKM1WZ6KnPY5MWoR7HGE3Tqd78OSsKbBdz8UKC34j mMNnlSPMtU9GiDLplW7OQUlblPeFm5KAHZwxkyslpNelUDNimMC0U8UvK+DKsRUebA+a9kIug+a esmJOCzOm8tm+04yMvpeXIOSn/8CdYuk= X-Gm-Gg: AeBDieupB5882LlmdJwpSz/Wssa/g1FFMEny+E2TcRK4UIavV9FK2PKQULjrMbGRI89 iaPPmLziSr/WJ3kDY2eeuWeMIYEGF+f93bCHgQ78YNv/JPTSevvigIMSeszCojf1N18M4O9/scc FaOQ3WiUbHFjtLbqh1oVaRRKjMfq4P4mLwt13zle9a7TlgRdWhlJCGqL+XovgeyQyL2qjYb+ijJ PgN5VHqSzj/3Tjlkq+nJBACr960t0U5WaQN6DB2IEbRHBev8QQ0cwFnQ2Y3wLFZShhoGvUV1x4x ACdt6AMoRv+eFZo66ZlD4yeriVANBdNDpvJDib23P4JTxSrkQcE= X-Received: by 2002:a17:907:a0a:b0:ba7:34cb:388b with SMTP id a640c23a62f3a-bbffbf78e40mr275282366b.42.1777786500007; Sat, 02 May 2026 22:35:00 -0700 (PDT) MIME-Version: 1.0 References: <20260427.174220.1939160662649810289.ishii@postgresql.org> <20260502.140304.670813149418899420.ishii@postgresql.org> In-Reply-To: <20260502.140304.670813149418899420.ishii@postgresql.org> Reply-To: assam258@gmail.com From: Henson Choi Date: Sun, 3 May 2026 14:34:47 +0900 X-Gm-Features: AVHnY4LwHWLhUUG9nI8O38jLgS523rQcb9zyzqIqnCLXW6U_ZH4ul3MVJx01WeU Message-ID: Subject: Re: Row pattern recognition To: Tatsuo Ishii , peter@eisentraut.org, vik@postgresfriends.org, zsolt.parragi@percona.com, er@xs4all.nl, li.evan.chao@gmail.com Cc: Jacob Champion , david.g.johnston@gmail.com, =?UTF-8?B?7J6l7ISx7KSA?= , pgsql-hackers Content-Type: multipart/alternative; boundary="000000000000d1cbfb0650e32c1e" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000d1cbfb0650e32c1e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Tatsuo, hi hackers, I'd like to ask for a bit of review help before PGConf.dev 2026 (Vancouver, May 19=E2=80=9322). For the SQL/RPR R020 poster going on display at the conference, I have prepared a companion deep-dive page to sit behind the on-site QR code, building on the patch series Tatsuo has been driving in this thread: https://assam258-5892.github.io/postgresql/rpr/ It walks through the standard scope (R010 vs R020), worked examples, NFA semantics, navigation functions, parser-to-executor design and pruning rules, plus an interactive NFA simulator. To widen reach, the page is also available in 23 AI-pretranslated languages from the switcher: =D8=A7=D9=84=D8=B9=D8=B1=D8=A8=D9=8A=D8=A9, =C4=8Ce=C5=A1tina, Dansk, Deuts= ch, Espa=C3=B1ol, Suomi, Fran=C3=A7ais, =D7=A2=D7=91=D7=A8=D7=99=D7=AA, Magyar, Italiano, =E6=97=A5=E6=9C=AC=E8=AA= =9E, =ED=95=9C=EA=B5=AD=EC=96=B4, Nederlands, Norsk, Polski, Portugu=C3=AAs (BR), Rom=C3=A2n=C4=83, =D0=A0=D1=83=D1=81=D1=81=D0= =BA=D0=B8=D0=B9, Sloven=C4=8Dina, Svenska, T=C3=BCrk=C3=A7e, =E4=B8=AD=E6=96=87 (=E7=AE=80=E4=BD=93), =E7=B9=81=E9=AB= =94=E4=B8=AD=E6=96=87. Each translated page carries a clear "AI pre-translated, errors possible" notice. The ask (light, entirely optional): - English original has had one review pass; Korean I reviewed myself. - Tatsuo =E2=80=94 if you ever find a free moment, a quick glance at the Japanese version would be very much appreciated, but absolutely no rush. - Native speakers of any of the other 22 languages =E2=80=94 incidental corrections welcome (this thread or off-list), but nothing is expected. References (also linked from the deep-dive page): - thread: https://www.postgresql.org/message-id/flat/20230625.210509.1276733411677577= 841.t-ishii%40sranhm.sra.co.jp - latest patch (v47): https://postgr.es/m/20260502.140304.670813149418899420.ishii@postgresql.org - commitfest #4460: https://commitfest.postgresql.org/patch/4460/ Best regards, Henson --000000000000d1cbfb0650e32c1e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Tatsuo, hi hackers,

I'd lik= e to ask for a bit of review help before PGConf.dev 2026
(Vancouver, May= 19=E2=80=9322).

For the SQL/RPR R020 poster going on display at the= conference, I
have prepared a companion deep-dive page to sit behind th= e on-site
QR code, building on the patch series Tatsuo has been driving = in
this thread:

=C2=A0 https://assam258-5892.github.io/postgresql/rpr/
It walks through the standard scope (R010 vs R020), worked examples,
N= FA semantics, navigation functions, parser-to-executor design and
prunin= g rules, plus an interactive NFA simulator. To widen reach,
the page is = also available in 23 AI-pretranslated languages from
the switcher:
= =D8=A7=D9=84=D8=B9=D8=B1=D8=A8=D9=8A=D8=A9, =C4=8Ce=C5=A1tina, Dansk, Deuts= ch, Espa=C3=B1ol, Suomi, Fran=C3=A7ais,
=D7=A2=D7=91=D7=A8=D7=99=D7=AA, = Magyar, Italiano, =E6=97=A5=E6=9C=AC=E8=AA=9E, =ED=95=9C=EA=B5=AD=EC=96=B4,= Nederlands, Norsk,
Polski, Portugu=C3=AAs (BR), Rom=C3=A2n=C4=83, =D0= =A0=D1=83=D1=81=D1=81=D0=BA=D0=B8=D0=B9, Sloven=C4=8Dina, Svenska,
T=C3= =BCrk=C3=A7e, =E4=B8=AD=E6=96=87 (=E7=AE=80=E4=BD=93), =E7=B9=81=E9=AB=94= =E4=B8=AD=E6=96=87.
Each translated page carries a clear "AI pre-tr= anslated, errors
possible" notice.

The ask (light, entirely = optional):

=C2=A0 - English original has had one review pass; Korean= I reviewed
=C2=A0 =C2=A0 myself.
=C2=A0 - Tatsuo =E2=80=94 if you ev= er find a free moment, a quick glance at the
=C2=A0 =C2=A0 Japanese vers= ion would be very much appreciated, but absolutely
=C2=A0 =C2=A0 no rush= .
=C2=A0 - Native speakers of any of the other 22 languages =E2=80=94 in= cidental
=C2=A0 =C2=A0 corrections welcome (this thread or off-list), bu= t nothing is
=C2=A0 =C2=A0 expected.

References (also linked from= the deep-dive page):
=C2=A0 - thread: https://www.postgresql.org/message-id/flat/20230625.210509.127673= 3411677577841.t-ishii%40sranhm.sra.co.jp
=C2=A0 - latest patch (v47)= : https://postgr.es/m/20260502.140304.670813149418899420.ishii= @postgresql.org
=C2=A0 - commitfest #4460: https://commitfest.postgresql.org/patch/44= 60/

Best regards,
Henson
--000000000000d1cbfb0650e32c1e--