Re: Row pattern recognition

From: Tatsuo Ishii <ishii(at)postgresql(dot)org>
To: assam258(at)gmail(dot)com
Cc: jian(dot)universality(at)gmail(dot)com, vik(at)postgresfriends(dot)org, pgsql-hackers(at)postgresql(dot)org, zsolt(dot)parragi(at)percona(dot)com, sjjang112233(at)gmail(dot)com, er(at)xs4all(dot)nl, jacob(dot)champion(at)enterprisedb(dot)com, david(dot)g(dot)johnston(at)gmail(dot)com, peter(at)eisentraut(dot)org, li(dot)evan(dot)chao(at)gmail(dot)com
Subject: Re: Row pattern recognition
Date: 2026-07-19 06:32:27
Message-ID: 20260719.153227.627270272853478906.ishii@postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Hi hackers,
>
> This is an increment on top of v49: it carries what has accumulated
> since the last posting, plus one adjustment needed by a recent rebase
> onto master. The attachments are named nocfbot-XXXX-*.txt so that
> cfbot does not pick them up.
:
:
> 2XXX -- awaiting review from Tatsuo
>
> Posted earlier but not yet reviewed (2009..2021), and what has
> accumulated since (2022..2026).
>
> 2009 Refactor transformDefineClause in row pattern recognition
> [behavior change] (= v50-0008)
> 2010 Replace a bare block with an else in the RPR DEFINE clause
> walker (= v50-0009)
> 2011 Rename loop index variables in row pattern deparse
> helpers (= v50-0010)
> 2012 Rename absorption "judgment point" to "comparison point" in
> comments (= v50-0011)
> 2013 Improve comments, documentation, and naming for row pattern
> recognition (= v50-0012)
> 2014 Document eval_nav_offset_helper's NULL/negative offset
> handling (= v50-0013)

2009-2014 look good to me.

> 2015 Tidy up the row pattern unbounded-quantifier
> sentinel (= v50-0014)

From the commit message:

> The grammar and planner spelled the unbounded quantifier bound as a bare
> PG_INT32_MAX, while the executor already used RPR_QUANTITY_INF for the
> same value. Use RPR_QUANTITY_INF on the parser and planner side as well
> so every stage shares one sentinel; gram.y keeps a local copy of the
> macro to avoid including the planner header.

I am not sure having a local copy of the the macro in gram.y is a good
idea. What about putting it into primnodes.h?

I will continue to review 2016-2021.
--
Tatsuo Ishii
SRA OSS K.K.
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Hayato Kuroda (Fujitsu) 2026-07-19 06:34:00 RE: REASSIGN OWNED vs. relisshared dep on !relisshared
Previous Message Tatsuo Ishii 2026-07-19 05:11:19 Re: Row pattern recognition