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 1v3UqN-00H9sv-S2 for pgsql-general@arkaria.postgresql.org; Tue, 30 Sep 2025 07:32:15 +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 1v3UqL-007A1m-Rk for pgsql-general@arkaria.postgresql.org; Tue, 30 Sep 2025 07:32:14 +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 1v3UqL-007A1e-HH for pgsql-general@lists.postgresql.org; Tue, 30 Sep 2025 07:32:14 +0000 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1v3UqJ-000eX0-2h for pgsql-general@lists.postgresql.org; Tue, 30 Sep 2025 07:32:13 +0000 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-46e4c9083a0so21968855e9.0 for ; Tue, 30 Sep 2025 00:32:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759217530; x=1759822330; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=ZnYBp8LsZR7I9/7Po/nFSGpPEoFZpNb3meMjAt0DDvE=; b=RR1StfPgF8x04TNtIuDD8GugZ06siFbA4RqOYvcUZj43lmgl8UAmruAxMKnCkKvk1w U0hckHAz2Ia7KRMS98kN2PqHRzIzRvpqU1CDUEeIWPjsNXRNOsi2tYyBAC9UeADPlJz4 PVqUm8tD29TCIreDwLdT50WnrzkKABgxjCs8mZtlPXPL9GbIkdAjyf+xVCSGzl9H79Z+ urvXXXsmFEYkD+OTTspk7sXpcYP82dfEM2aYLMB6FMGqrYaGu73RQw7e/ZCWF03GvruI sG18zdFxyERyj3A85ZIUHOLYIO2yl/3LJwDhbTGuVj0Mw0A/oafYeyMKApQ326sGG9+E tl0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759217530; x=1759822330; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=ZnYBp8LsZR7I9/7Po/nFSGpPEoFZpNb3meMjAt0DDvE=; b=jP9VGO+fxj+2j0RbfIjPjWeKyuztTjoyEjt/nhQZyjlS5zUAhezIqOjLP7dl7Emdr0 xXnv3vUnDPHNnu9R0q0OMiSAVF8ndmL4wuOs/Vo+RCgnY0H/nbAATYY90HBXaIkvn0k3 FwXYZO+EJEfag/i5PEXZhyBN0BHWmEO1JVRftkYwnEurknV1lKls1wIRcjAiool/W5ZI eF9rGCc/CkuJFsciQDaKiWjokH4ADFTmsRiAHwHGi+1jFlmBkgrEtfyb4GRxcff+dfa5 u3IIYMpOgmiZ7jWzlpyhxkl3a0LUY5iUnIc5LwySqXnmCeAGE6lah6ooybgM4m35TbAz pW4w== X-Gm-Message-State: AOJu0Yw7Jnd7Pl2N0URWiSgFzV4FWy7Nd4TMyonuQDmPG+wdnjd0qFSi 0nZbHQpEzH7xVynvrjvKSXK4tCmmBneS8T0ewipphJ+kPqCZw1TeHMMWoHM2ySfo0Px13GYwoLF G66Kd6MF2AFJjj57SIIrxO7jIDTRYmhWWmeOJ9XY= X-Gm-Gg: ASbGnctWwq//BjI1Mz0quSa35ZFc+PctZAm8BV174X9Pcf/N+0XDu4JRU3elMezqQ3A j0Apkf0TNmb5sl9D7wRQ3aoo3BP6Duss0HVaRfj8dYQASaRHKluXJ44Da/rtqNWbz/g/a831RLs KXjLk6x+VP4ptpmk+wosmvJf+T0ZWOJ01/a4Tx0bZmG57qWLl+w0CsJ/q5Duddx0dWjnILHx8vP pp7eFTLyqgk8YtjdwzhNmzV2eysKJC45djLdEMB1QmmlwaITp7+zcgpz5hRFtMVlaQqz98a1JUw TXUD969e2NyinBRwP2/0ZDU= X-Google-Smtp-Source: AGHT+IHE7kndOhCB1o3qzxW/MKtLsKTV7gukBS4C1P5/BxgZh4cFM56PQuDuvowMPEUFo1DYZ3wwxMTIOmdT7CLPPMg= X-Received: by 2002:a05:600c:4e93:b0:45d:dc10:a5ee with SMTP id 5b1f17b1804b1-46e58ac9b13mr32117795e9.15.1759217530425; Tue, 30 Sep 2025 00:32:10 -0700 (PDT) MIME-Version: 1.0 From: Denis Feklushkin Date: Tue, 30 Sep 2025 10:31:57 +0300 X-Gm-Features: AS18NWAFa1RwvtYGmZBNcfEu7OLOt6P6uBSu8HgwYyWK-eZEV6ttcU1Pf_TebfQ Message-ID: Subject: Extend syntax wish: FOR [KEY] UPDATE To: pgsql-general@lists.postgresql.org Content-Type: multipart/alternative; boundary="000000000000fbd7ca063fffbf38" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000fbd7ca063fffbf38 Content-Type: text/plain; charset="UTF-8" Hi! I have an idea. I think there's some historical confusion near to FOR UPDATE in a SELECT statement, because this should be called FOR KEY UPDATE or something like. It's currently impossible to rename it, but it's possible to introduce optional keyword KEY: FOR [KEY] UPDATE Those pedants who care about avoiding confusion with FOR NO KEY UPDATE will start using this optional word and code will look clearer. --000000000000fbd7ca063fffbf38 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi! I have an idea.

I think there's some histor= ical confusion near to FOR UPDATE in a SELECT statement, because this shoul= d be called FOR KEY UPDATE or something like.

It's currently imp= ossible to rename it, but it's possible to introduce optional keyword K= EY:

FOR [KEY] UPDATE

Those pedants who care about avoiding co= nfusion with FOR NO KEY UPDATE will start using this optional word and code= will look clearer.
--000000000000fbd7ca063fffbf38--