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 1wXt7R-003XYV-1p for pgsql-hackers@arkaria.postgresql.org; Fri, 12 Jun 2026 04:03:45 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wXt7Q-000mFM-1L for pgsql-hackers@arkaria.postgresql.org; Fri, 12 Jun 2026 04:03:44 +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 1wXt7Q-000mFE-0S for pgsql-hackers@lists.postgresql.org; Fri, 12 Jun 2026 04:03:44 +0000 Received: from meldrar.postgresql.org ([2a02:c0:301:0:ffff::31]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wXt7O-00000002HhP-0ZgK for pgsql-hackers@postgresql.org; Fri, 12 Jun 2026 04:03:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Content-Transfer-Encoding:Content-Type: Mime-Version:References:In-Reply-To:From:Subject:Cc:To:Message-Id:Date:Sender :Reply-To:Content-ID:Content-Description; bh=dTK1DUrw5kPB2JMIHsUOnz1Z+dAe1umXjc0+H23egQA=; b=iBiVAXtC0wMQJXDV9YJGP/HJtE H1VD3dlcmX1MlRTMDwjgLCoJvlrzKUs/4IrevWusjyeYuJ1NCu7dVjLtkTrz18qb3VSm2XWlNRGvS 58kikyN1BQe9J5O4fcOq2PfBR4+vtpzhJNoYr8ZvcrLtEl7cIlMgDOkRXwa2aJ0ILRk460QNqD9q3 VvT10RJTnaNRnSFjEFNEgGduaNY6wT8OvYNBsszo4uu8VAgtgolBApODBXo4O+6YRGWdeqTTGaDG3 ce0sHjPe/NAveEALX3VZFGMS5qjD8kk7ufIHnhatTgjxCnEBPOn113+i4TuzzQ22AinMUN+ege+qp z6QZx4Dw==; Received: from p383008-ipoe.ipoe.ocn.ne.jp ([153.240.252.7] helo=localhost) by meldrar.postgresql.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wXt7G-007ZE7-1j; Fri, 12 Jun 2026 04:03:36 +0000 Date: Fri, 12 Jun 2026 13:03:25 +0900 (JST) Message-Id: <20260612.130325.519566816514605833.ishii@postgresql.org> To: assam258@gmail.com Cc: jian.universality@gmail.com, zsolt.parragi@percona.com, sjjang112233@gmail.com, vik@postgresfriends.org, er@xs4all.nl, jacob.champion@enterprisedb.com, david.g.johnston@gmail.com, peter@eisentraut.org, li.evan.chao@gmail.com, pgsql-hackers@postgresql.org Subject: Re: Row pattern recognition From: Tatsuo Ishii In-Reply-To: References: X-Mailer: Mew version 6.8 on Emacs 29.3 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi Henson, > Hi hackers, > > This refreshes the v48 series [1]: Jian He's review of the v47-000x > cleanup patches [2] (my point-by-point reply [3]) is now applied as > nocfbot-0069..0077. nocfbot-0001..0068 are unchanged from the last post > [1] (rebase only), except nocfbot-0039, which is voided here (see below). > > Resolved since the last post: > > Jian He, round 5 -- the v47-0001..0004 patches plus the inline comments > [2]. Applied across nocfbot-0069..0077 (issue map below). > > For Tatsuo -- two calls I'd like from you before this settles: Ok, let me check... > 1. nocfbot-0073 moves the DEFINE volatility rejection out of parse > analysis into the planner, per the convention Jian and Tom noted. Two > things to weigh: it is a small behavior change -- a volatile DEFINE > hidden in a view is now rejected when the view is read, not at CREATE > VIEW -- and the planner has no ParseState, so the error cursor is > reconstructed from debug_query_string, a first at the optimizer stage. > If either gives you pause, I'll rework it or split nocfbot-0073 out for > separate review ahead of the cosmetic patches. No pause from me. > 2. LOWPRICE/UP/DOWN casing. I've left the variables upper-case (the > standard and Oracle show them so), but EXPLAIN and deparse lower-case > them today, so the examples and the actual output disagree. If you'd > prefer the section lower-cased, I'll do it as a doc patch. I see no problem here. PostgreSQL always convert identifiers into lower case. Evenrybody knows that. Regards, -- Tatsuo Ishii SRA OSS K.K. English: http://www.sraoss.co.jp/index_en/ Japanese:http://www.sraoss.co.jp