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 1v8K1S-00GIak-3o for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Oct 2025 14:59:38 +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 1v8K1P-006HlK-Ra for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Oct 2025 14:59:36 +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.94.2) (envelope-from ) id 1v8K1P-006HlC-Ei for pgsql-hackers@lists.postgresql.org; Mon, 13 Oct 2025 14:59:36 +0000 Received: from mail-qk1-x741.google.com ([2607:f8b0:4864:20::741]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1v8K0Q-001XuE-11 for pgsql-hackers@postgresql.org; Mon, 13 Oct 2025 14:59:35 +0000 Received: by mail-qk1-x741.google.com with SMTP id af79cd13be357-856cbf74c4aso818543085a.2 for ; Mon, 13 Oct 2025 07:58:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dunslane-net.20230601.gappssmtp.com; s=20230601; t=1760367513; x=1760972313; darn=postgresql.org; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :from:references:cc:to:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=8ALvJCRFpAWS/JSC4vFHBN7QoeFCDPtiG0/f+vrOn30=; b=opnJdWdesJLdeTtRU70WgTlp2pRf3G+Noy/WoFOfmniTQ8KGgY8CRDCXK6ZXcpqotf zrvyjvoGK/mCLyaUXKBNQRJtFNb4gq5kBHXzARCn39mB+G9L1fRr7Zxd1oTaYQxybPtH h4Ke7ORkW6Jo2DpOSOaBRQmTEfABOOSalYhJoESxvZ6TjrevGcRIT29cz3tphUlGpGXf JrU42OH5XHBC16mTgkKf6TOtjEgAlTyc0fM6gxRB+N18DvGK/3otiE6xKKeeDMTmcvji MQ3Z8raDypNpHzv+NgSuhxmnd5pWzAVUJAtRNyB8y4T4GE1SRFu1fDnxkV/uAcPTC4jN CESw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760367513; x=1760972313; h=content-transfer-encoding:in-reply-to:autocrypt:content-language :from:references:cc:to:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=8ALvJCRFpAWS/JSC4vFHBN7QoeFCDPtiG0/f+vrOn30=; b=b9+icdhpVyuVIBzfe1hIJ86opMIj1l4XhGCKp+edoPlwlccBZSgunm+Vqg67tFonCP fC1XnTB19+YW0EmRlGPXcgHIRrsx2CC8fJmtrL6LM2Od3jZELO3srdaGiR5BSYuDV0Mr 5DiZiMWPFFmw1jBPIbc/K3qI4PvAY+nkWm0FWn2ReBVamdNFFt/dBLJQ9Qceehn1LXwb 9odK26/WMFL3Ymp8lyRLpUuldAGuhWoMqz1CW08vSIQFKEbo89j75LYi97QrdrW3RmEy P+YltlApIGuT71ZX/k/Ujr5ZlWWNxPSHva4a3m5xHbKyNNyWTCM+fgOtM+a/DHqYPgb7 vPKA== X-Forwarded-Encrypted: i=1; AJvYcCVpGqvh1QJ4vZJECLhiPXb4tvLSA/T0ho6gL0BLMqdbY+VvD6bb22DN5HmmcoLF4Oe7IrffEoxbPoAmcPZp@postgresql.org X-Gm-Message-State: AOJu0YypuDOOvNQ20NewBuHpBKLRUOO7czoc2gNJbm5TsYIMa4L07hor 01w8lrU2uwisRkAn46ZRt9fubwjQ0+YgMJtsLYhrZ10aeNBOGgaDCNa69Z/lKLjUKVw= X-Gm-Gg: ASbGnctOv0v4glxLiUMQURbprjex1e7XhFIPJTWVDtC77kn4pRqfB9RTjluEY+RF4Z8 w7a11DbvpWBI/ISNZPNW7r9uTi53T7Gl0KDot2O7LFJ6kUh840zDyVIjQJRyG8xKks3udMxWmhd 9HDVdMACccS6E7LZICBGkCA3556d/W2qEWl8YLmNGgJf3F9lNkOJmLLVB0IrL4AqD0nGn+Tr2xW z7UM9NM93iXStEeKOdUEX3EdOJHNWu9eEmB2ZOTG1Jod65PemdyJ+zrExh35T8TprzqCKnrNtNC E/X17VKWQsYqB9pWqgc9rfUYHwJRGI+4UASU5WynYHtw8HL4GLsmvtW0+woemWlwBocfEWd47IV J6ql+DCfwwjJduuLiUdxueksHwfRg59zIp8HJV3B1lS9FKNAoy9sDO5icYko= X-Google-Smtp-Source: AGHT+IFftF/f9VIJ97gjIdybcQ9RNiFBIMkAD+Xr4jisapobu9zlioy7acKLTJsD3qWUfiQSdG5VxQ== X-Received: by 2002:a05:620a:c4d:b0:855:24d7:5525 with SMTP id af79cd13be357-8834eff4d01mr2949465585a.0.1760367512552; Mon, 13 Oct 2025 07:58:32 -0700 (PDT) Received: from ?IPV6:2605:a601:a6b0:500::1cb? ([2605:a601:a6b0:500::1cb]) by smtp.googlemail.com with ESMTPSA id af79cd13be357-884a1ca39e9sm988962785a.40.2025.10.13.07.58.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 13 Oct 2025 07:58:31 -0700 (PDT) Message-ID: Date: Mon, 13 Oct 2025 10:58:30 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: add function argument name to substring and substr To: jian he , "David G. Johnston" Cc: Marcos Pegoraro , PostgreSQL-development References: From: Andrew Dunstan Content-Language: en-US Autocrypt: addr=andrew@dunslane.net; keydata= xsBNBE7KWFkBCAClridxur2AIc7eW2AR7izbfp3EnNefie2HbLF0izW5Ik5UjX2HBXBx4syI gY6b0ugohXrr274+baoAlvSbq6cAoQuEVrk5IZFzt20b1Xkx65FwGSEj526yiKLocqkJceSq Xr9xcA5SGY+FZv441chh5SU92v4q6z+6LPpoHOh97ptAVXZYNTtU0LevyvD5lja0TzbvJm6C eFXitJfnm1pLEr0DGJCR/iUOl/N62Kh4855zZC7NHIjQHPOvV5Stz/l5ilDhvGVk+xkXFPys SjZoUr1rXhYLpiyi5sR0X9FHXT0KnGuz1F5ERO7ZTLSSQ6fJwPj6gOk9K+vvoKvoeql5ABEB AAHNJEFuZHJldyBEdW5zdGFuIDxhbmRyZXdAZHVuc2xhbmUubmV0PsLAlwQTAQgAQQIbAwIX gAIZAQULCQgHAwUVCgkICwUWAgMBAAIeBRYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNGd BQkdEO8nAAoJEJn6f8tZ/DuBq74H/jkTR4Zi3stbw+xC7v2u3QozssK7MYPL2AsVfh7OealS h182fiWXpfvmmAB7WUHbhk9GC2RAOnHI/2d2jgKaMLAHsGYOT0YopTVIwRY43fCw/mK67yxc wmDcX+zyKfLaivNbf5A7QPLNwda98bEAMSJ8Sn652Uc6cA8t3uKGsVzbRBQOoYzjgvBCfSrE 9ql3PDNg0l4BfAqabd2f70ZUm9VAMEPrgv/v2xI7M2XiL4g5BVmqLCOwxLM8RMCotCuoweUr VO43DeBCIDwLxotMJKvGWDjBzQYlU1NPUAtNcz/gN9ITUe1VUGjyvGj4u1lxBOcQQUw7l1+T 5moZ4iZxXzvOwE0ETspYWQEIANGc4zQULOxhbqO2dyD51YhqCNRmm9oKWaqf+wmW4tpDe/VV cxAnNizd4LWCHfzpb5cHAtGkOPePMfzWVf6nvdF7d3eglbtf59+zG7O7llV0xSSoFiieQBsr GvqDInXYX/4mRRXMtyhM353/tixC9RWLs1oofyYmCPPXXY7h9R7en3B8BoVrRFcdzlIY/NFN hFGW/9dkEiGjgna2Rk6e15kln4ZvFBWUg23p93w/pqXcxY6+k/8TEk+C4R+M6w7o2PLGOjdZ +kPiUcw5H85zf/yZJwQXzisXaNduwWB6Vads9YC9dj6kPR1c4VGRqAaYL++LAEOqrlvm2Tvq QqZRtnEAEQEAAcLAfAQYAQgAJgIbDBYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNI2BQkd EODdAAoJEJn6f8tZ/DuBfw0IAKTsfD40teP/pp+bsLLMSxPXUYrrprTj7WFB5v61p6dkpSr/ qXmMlyahdxQFaPmfVgVirB1Vk/kHiWNnnGjfUV9nB2Zg9LI0Xb9/ts3LsUiRWXzG3tkMY6XL vsVOxW4XFRND9l2q+WW93aZ1DZl+fqWfYgMvsusFRhmGFOKTRfKPta2Pkv+AhA24N4+PrR5p bU4k2MO8PAGiK8eaYKGFG1bHKuAvoDoF7WXJ3FHxuWqLnKEt4dfOLm5pAe3zq1Lt6q8azT9i QWGpSAK5vQUWQHBHpiDjdPeqKZ6HiAXIIKfSmb+jrvXBqoP+D6/K7rUjG2aXiRtTIAXms9sm VRu7cmw= In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2025-10-13 Mo 10:22 AM, jian he wrote: > On Mon, Jul 21, 2025 at 2:31 PM jian he wrote: >> actually, >> section (9.7.3.) >> https://www.postgresql.org/docs/current/functions-matching.html#FUNCTIONS-POSIX-REGEXP >> already have example, like: >> substring('foobar' from 'o(.)b') >> >> new patch attached, split substr, substring to make review more easier. >> v6-0001: add function argument name to function substr >> v6-0002: add function argument name to function substring >> >> v6-0002 incorporated some of the changes in v5-0002-v3-delta.patch. >> some of the changes in v5-0002-v3-delta.patch are not related to this thread, >> so I didn't incorporate them, right now. > hi. > > rebased. I'm late to the party on this, but I wonder if it wouldn't be better to use a type-neutral parameter name here, like "source", which could cover all these cases, instead of "string", "bytes", etc. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com