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.94.2) (envelope-from ) id 1v8BLu-00E3d2-M0 for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Oct 2025 05:44:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1v8BLs-004LSB-Et for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Oct 2025 05:44:09 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v8BLs-004LS3-4U for pgsql-hackers@lists.postgresql.org; Mon, 13 Oct 2025 05:44:09 +0000 Received: from meldrar.postgresql.org ([2a02:c0:301:0:ffff::31]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1v8BLq-001sAh-1g for pgsql-hackers@lists.postgresql.org; Mon, 13 Oct 2025 05:44:08 +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=IwB0d/t6v/DZrsawdOntMDnPGZDDFH//v/l19kElJf0=; b=Ha5pgRhQVs+zI9jFPrnJGwgPgH JmNM+vHmbcw4SKQMHb4dP+qSigLKU3ugqcmmxhXT7PGQS3jr4hHIj5OqtNyxi1lGAwLTNCNfhekkj xESpLu7p3CnbdHL4DiPNTbVi2/wstnrohKQxNT5XqgXOS7B5aSHqdjCzWImzDdcJr+yBidSecxa7/ QQEU0cqb+gZFv1d+8CV1UQ+OnAOV/bhD/jtJwJ37Aa4DvZVxkTpBKBatr+rKbdA3csvMiYNc9aspW T8HHOsMVq8vaTEujZ2bq7tC7CheKWmdNzX129JOlO5uaLu99y5O0ObbkNgbI5vsO3BHnfFiDvpzM0 /28utWkg==; Received: from [2409:11:4120:300:dcb5:2743:8b18:8155] (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 1v8BHk-004znj-2E; Mon, 13 Oct 2025 05:39:54 +0000 Date: Mon, 13 Oct 2025 14:39:41 +0900 (JST) Message-Id: <20251013.143941.1447453701514209859.ishii@postgresql.org> To: li.evan.chao@gmail.com Cc: tgl@sss.pgh.pa.us, pramsey@cleverelephant.ca, ojford@gmail.com, peter@eisentraut.org, krasiyan@gmail.com, vik@postgresfriends.org, andrew@tao11.riddles.org.uk, david@fetter.org, pgsql-hackers@lists.postgresql.org Subject: Re: Add RESPECT/IGNORE NULLS and FROM FIRST/LAST options From: Tatsuo Ishii In-Reply-To: <66A28678-BDC0-4266-9244-74320D578222@gmail.com> References: <20251011.090731.1451293026979559494.ishii@postgresql.org> <20251011.144218.1729318385118014326.ishii@postgresql.org> <66A28678-BDC0-4266-9244-74320D578222@gmail.com> X-Mailer: Mew version 6.8 on Emacs 29.3 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Mon_Oct_13_14_39_41_2025_129)--" Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2409:11:4120:300:dcb5:2743:8b18:8155 (failed) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk ----Next_Part(Mon_Oct_13_14_39_41_2025_129)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit >>>> Also the error is certainly user-facing, >>>> so using elog() was quite inappropriate. It should be ereport with an >>>> errcode of (probably) ERRCODE_FEATURE_NOT_SUPPORTED. Rolling your >>>> own implementation of get_func_name() wasn't great either. >>> >>> I overlooked the elog() call and "own implementation of >>> get_func_name()". Will fix. >> >> Attached is a trivial patch to fix that. I am going to push it if >> there's no objection. >> >> Best regards, >> -- >> Tatsuo Ishii >> SRA OSS K.K. >> English: http://www.sraoss.co.jp/index_en/ >> Japanese:http://www.sraoss.co.jp >> > > > I just take a quick look at the patch, a tiny comment is: > > ``` > + char *funcname = get_func_name(fcinfo->flinfo->fn_oid); > ``` > > This can be a “const char *”. Thanks for the review. In addition to the point, I added an assertion which is called by all other window function API. Also added check to the return value of get_func_name() because it could return NULL. V2 patch attached. Best regards, -- Tatsuo Ishii SRA OSS K.K. English: http://www.sraoss.co.jp/index_en/ Japanese:http://www.sraoss.co.jp ----Next_Part(Mon_Oct_13_14_39_41_2025_129)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="v2-0001-Use-ereport-rather-than-elog-in-WinCheckAndInitia.patch" RnJvbSA5NzZkZTRhZjA5NTFhNDllOWZhNTVmYWQwM2YwNTgyYTRlNzdlN2Y1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYXRzdW8gSXNoaWkgPGlzaGlpQHBvc3RncmVzcWwub3JnPgpE YXRlOiBNb24sIDEzIE9jdCAyMDI1IDE0OjMyOjAxICswOTAwClN1YmplY3Q6IFtQQVRDSCB2Ml0g VXNlIGVyZXBvcnQgcmF0aGVyIHRoYW4gZWxvZyBpbgogV2luQ2hlY2tBbmRJbml0aWFsaXplTnVs bFRyZWF0bWVudC4KClByZXZpb3VzbHkgV2luQ2hlY2tBbmRJbml0aWFsaXplTnVsbFRyZWF0bWVu dCgpIHVzZWQgZWxvZygpIHRvIGVtaXQgYW4KZXJyb3IgbWVzc2FnZS4gZXJlcG9ydCgpIHNob3Vs ZCBiZSB1c2VkIGluc3RlYWQgYmVjYXVzZSBpdCdzIGEKdXNlci1mYWNpbmcgZXJyb3IuIEFsc28g dXNlIGV4aXN0aW5nIGdldF9mdW5jX25hbWUoKSB0byBnZXQgYQpmdW5jdGlvbidzIG5hbWUsIHJh dGhlciB0aGFuIG93biBpbXBsZW1lbnRhdGlvbi4KCkluIGFkZGl0aW9uIHRvIHRoZW0sIGFkZCBh biBhc3NlcnRpb24gdG8gdmFsaWRhdGUgd2lub2JqIHBhcmFtZXRlciwKanVzdCBsaWtlIG90aGVy IHdpbmRvdyBmdW5jdGlvbiBBUEkuCgpSZXBvcnRlZC1ieTogVG9tIExhbmUgPHRnbEBzc3MucGdo LnBhLnVzPgpBdXRob3I6IFRhdHN1byBJc2hpaSA8aXNoaWlAcG9zdGdyZXNxbC5vcmc+ClJldmll d2VkLWJ5OiBDaGFvIExpIDxsaWNAaGlnaGdvLmNvbT4KRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0 Z3IuZXMvbS8yOTUyNDA5LjE3NjAwMjMxNTQlNDBzc3MucGdoLnBhLnVzCi0tLQogc3JjL2JhY2tl bmQvZXhlY3V0b3Ivbm9kZVdpbmRvd0FnZy5jIHwgMjAgKysrKysrKystLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVXaW5kb3dBZ2cuYyBiL3NyYy9iYWNrZW5kL2V4 ZWN1dG9yL25vZGVXaW5kb3dBZ2cuYwppbmRleCBlNmE1M2Y5NTM5MS4uNDdlMDBiZTdiNDkgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVXaW5kb3dBZ2cuYworKysgYi9zcmMv YmFja2VuZC9leGVjdXRvci9ub2RlV2luZG93QWdnLmMKQEAgLTM1MzgsMjQgKzM1MzgsMjAgQEAg V2luQ2hlY2tBbmRJbml0aWFsaXplTnVsbFRyZWF0bWVudChXaW5kb3dPYmplY3Qgd2lub2JqLAog CQkJCQkJCQkgICBib29sIGFsbG93TnVsbFRyZWF0bWVudCwKIAkJCQkJCQkJICAgRnVuY3Rpb25D YWxsSW5mbyBmY2luZm8pCiB7CisJQXNzZXJ0KFdpbmRvd09iamVjdElzVmFsaWQod2lub2JqKSk7 CiAJaWYgKHdpbm9iai0+aWdub3JlX251bGxzICE9IE5PX05VTExUUkVBVE1FTlQgJiYgIWFsbG93 TnVsbFRyZWF0bWVudCkKIAl7Ci0JCUhlYXBUdXBsZQlwcm9jdHVwOwotCQlGb3JtX3BnX3Byb2Mg cHJvY2Zvcm07Ci0JCU9pZAkJCWZ1bmNpZDsKKwkJY29uc3QgY2hhciAqZnVuY25hbWUgPSBnZXRf ZnVuY19uYW1lKGZjaW5mby0+ZmxpbmZvLT5mbl9vaWQpOwogCi0JCWZ1bmNpZCA9IGZjaW5mby0+ ZmxpbmZvLT5mbl9vaWQ7Ci0JCXByb2N0dXAgPSBTZWFyY2hTeXNDYWNoZTEoUFJPQ09JRCwKLQkJ CQkJCQkJICBPYmplY3RJZEdldERhdHVtKGZ1bmNpZCkpOwotCQlpZiAoIUhlYXBUdXBsZUlzVmFs aWQocHJvY3R1cCkpCi0JCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgZnVu Y3Rpb24gJXUiLCBmdW5jaWQpOwotCQlwcm9jZm9ybSA9IChGb3JtX3BnX3Byb2MpIEdFVFNUUlVD VChwcm9jdHVwKTsKLQkJZWxvZyhFUlJPUiwgImZ1bmN0aW9uICVzIGRvZXMgbm90IGFsbG93IFJF U1BFQ1QvSUdOT1JFIE5VTExTIiwKLQkJCSBOYW1lU3RyKHByb2Nmb3JtLT5wcm9uYW1lKSk7CisJ CWlmICghZnVuY25hbWUpCisJCQllbG9nKEVSUk9SLCAiY291bGQgbm90IGdldCBmdW5jdGlvbiBu YW1lIik7CisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05P VF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2coImZ1bmN0aW9uICVzIGRvZXMgbm90IGFsbG93IFJF U1BFQ1QvSUdOT1JFIE5VTExTIiwKKwkJCQkJCWZ1bmNuYW1lKSkpOwogCX0KIAllbHNlIGlmICh3 aW5vYmotPmlnbm9yZV9udWxscyA9PSBQQVJTRVJfSUdOT1JFX05VTExTKQogCQl3aW5vYmotPmln bm9yZV9udWxscyA9IElHTk9SRV9OVUxMUzsKLQogfQogCiAvKgotLSAKMi40My4wCgo= ----Next_Part(Mon_Oct_13_14_39_41_2025_129)----