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 1uI8wM-00GVyR-6K for pgsql-hackers@arkaria.postgresql.org; Thu, 22 May 2025 16:38:42 +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 1uI8wJ-00542t-Vl for pgsql-hackers@arkaria.postgresql.org; Thu, 22 May 2025 16:38:39 +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 1uI8wJ-00542C-J7 for pgsql-hackers@lists.postgresql.org; Thu, 22 May 2025 16:38:39 +0000 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uI8wH-000L3k-17 for pgsql-hackers@lists.postgresql.org; Thu, 22 May 2025 16:38:38 +0000 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-442ec3ce724so69178315e9.0 for ; Thu, 22 May 2025 09:38:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747931916; x=1748536716; darn=lists.postgresql.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Jzl4IsZrMeaBm32/FoYaCpuYZLoh5LQEP3zWyfow540=; b=AUdfVy8WYk/uUh7fyL6Cdssw/PIhk6Qvukk2pOj9KojYTsBR78MYnkx1kCSIVgc2Z7 vlO3Fz0xONwQJN5BpndS1xpDj0ZJYok0RA7DLq4FRbtBM5VWR5azmympuSQsKpfNxmNH IfNtvMaGhrvLSIJLFcAwfRBv6X+m7azyHp5VoARUDsxvia4FayNWbtYXJGOo1xpEQaw1 DlPILjYXCYKsRj0jbFu9hHhG9D6zciNXgKy6uNBemua6enppI34dTd27DG4frkqaYt/g 0+ep+jD1EY8qX99hq+U4vsTKhgD7RMTwgJJtDqnd4QpQcy0ncuJE4haSTS6cguJmuzeL UX7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747931916; x=1748536716; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Jzl4IsZrMeaBm32/FoYaCpuYZLoh5LQEP3zWyfow540=; b=p9HzdEFtAtEAqotlVKd3B3IN12yc9eIV8qaBMXmKr2eXz3jfPe8tS0BL/kSwoFu5s1 9LIwbWUFjou0qnJn81Ns6Lkvg4tlVC5kS0ROKFnzpnhEu4FxEPv6eVGaa327RnHcQ008 vFdV/E1LRI4DmFkCyOYsLoNhs/jl9RRB4nnRVVKcyBpmtcQ095Yxod+br+rUe4A4fKzL 4E9ipM6P+WuMOqwInxUtu4EWKjvovlLc2kPJK6XVxzcM0xU4xLzc4lzpbh5zDuo7tAXV Wn3pF4EHEaqg8Yh8DkdbifWrxioV/3wvttozYUOIpWcjcPLoc82M1xRd61irmCP/hRDD /mqg== X-Forwarded-Encrypted: i=1; AJvYcCXkV/C2qxhgp+v747FLzRsb887WhN2LJ7BLJEqBf+SbqsvMXtomg7tZ3uj4ksZawyLJ9sN9zXW0e7pFp1UE@lists.postgresql.org X-Gm-Message-State: AOJu0YxOLbiTKEAE7PL781TlKdDBStzR8DhyjWUbORMr7zoyr9186Uyd TGmn/88HJ3T8YLP0lo6VwjINBQXBN/kj+IbCNE4C0ofQcdPXL+L5Dnxe X-Gm-Gg: ASbGnctDmYc5M65iMUDiSc8q6IozcjCcdXVzzKLOrDSz+esApCrZubooJ+/2KQVSwiy KvjBNdeQSmsfVFFsOyYuTmLappUCO6TUYeMc3WZ47nEUa7BoCOHPk99FLhayUWT/W7jfnA/p5c7 FYvcKcYzN4K6g/B/mhsSPz+c5lltnP72ecqORtYnXf7O7J8IxD0xFnqVcovCSt4j345SZ9cGayv zNPPLpQBS8+rlElWNWAIl/btySZ1gLEV0VQMIY4t4+V38OkB3BnmAHcGZaIj6kCBYJOIdYvBFzR 1bTF5qzwcflYb+7DkQduouX3Q6iKASavpfNvG6yCLujnK4Qn22SVRyBQwqPon4v09Ff5UBucIKg Z X-Google-Smtp-Source: AGHT+IGMGuYL+3sJegwFc2d46jTSunZksOWsRT3yqslzjQG/fWNkK50zeV831Pr5xRcMBu+O+yr+LQ== X-Received: by 2002:a05:600c:a42:b0:43b:cc42:c54f with SMTP id 5b1f17b1804b1-442fd6276f7mr249581795e9.14.1747931915370; Thu, 22 May 2025 09:38:35 -0700 (PDT) Received: from smtpclient.apple ([145.224.119.57]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-442ebdc362fsm236654415e9.1.2025.05.22.09.38.33 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 22 May 2025 09:38:34 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.600.51.1.1\)) Subject: Re: PATCH: jsonpath string methods: lower, upper, initcap, l/r/btrim, replace, split_part From: Florents Tselai In-Reply-To: Date: Thu, 22 May 2025 19:38:02 +0300 Cc: Tom Lane , "David E. Wheeler" , Alexander Korotkov , pgsql-hackers , Andrew Dunstan , Peter Eisentraut Content-Transfer-Encoding: quoted-printable Message-Id: <9E77459B-0E6D-4105-A8D9-E5AED5F0AC0B@gmail.com> References: <145894.1727298237@sss.pgh.pa.us> <88A95900-E976-43BE-A73A-45AA75A11EE7@justatheory.com> <3682F2FE-AB57-4799-A439-7DA518E978A4@gmail.com> <6A995806-5B9C-455C-8923-53A0448893BF@justatheory.com> <1303509.1747852287@sss.pgh.pa.us> To: Robert Haas X-Mailer: Apple Mail (2.3826.600.51.1.1) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > On 22 May 2025, at 5:05=E2=80=AFPM, Robert Haas = wrote: >=20 > On Wed, May 21, 2025 at 2:31=E2=80=AFPM Tom Lane = wrote: >> Having said that, what's wrong with inventing some improved function >> names and never removing the old ones? >=20 > I don't particularly like the clutter, but if the consensus is that > the clutter doesn't matter, fair enough. >=20 It depends really on how much future work we expect in adding more = methods in jsonpath. I think there=E2=80=99s a lot of potential there, but that=E2=80=99s a = guess really. On David=E2=80=99s point about popularity:=20 In my experience timestamp related stuff from jsonb documents end up in = a generated column, and are indexed & queried there. I expect that to continue in PG18 onwards as we=E2=80=99ll have virtual = gen columns too. Just to be clear, though, adding another version of these functions = means we=E2=80=99ll have an additional (now third) set of the same 5 = functions: The vanilla versions are considered stable and the suffixed *_tz or = *_volatile (?)=20 jsonb_path_exists jsonb_path_query jsonb_path_query_array jsonb_path_query_first jsonb_path_match