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 1vTODP-000ZLr-0f for pgsql-hackers@arkaria.postgresql.org; Wed, 10 Dec 2025 17:43:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vTOCN-000DbR-2J for pgsql-hackers@arkaria.postgresql.org; Wed, 10 Dec 2025 17:42:00 +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 1vTOCN-000DbJ-1N for pgsql-hackers@lists.postgresql.org; Wed, 10 Dec 2025 17:42:00 +0000 Received: from mail-qv1-xf2f.google.com ([2607:f8b0:4864:20::f2f]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vTOCL-0000aU-0O for pgsql-hackers@lists.postgresql.org; Wed, 10 Dec 2025 17:41:58 +0000 Received: by mail-qv1-xf2f.google.com with SMTP id 6a1803df08f44-88249766055so1269706d6.1 for ; Wed, 10 Dec 2025 09:41:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1765388516; x=1765993316; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=2goikRA0uH9EsMTH56Ce5MDQxOtvzSF0lC5IxkqzaPE=; b=dka62+SGkO2X5JotdTWJVd7VTUIRKWsaU8xcp9o4ukPeb5fQXcI4VG3SKWi3S+Qz1W 7hLDShYFyameHOjCzJISvUeslWR8QKn6jg7c/hfr9WDsN55wJvcEYM1R9NiUI8ED5A06 WGovDLzGarYRg5zcszrsJil+MvKOBOSxeE6rt2EDO/YqCIozLJ/Q0Wgzev1PlB/Cvs4R RMhsgfxcMmVSBf3lYQxNf23PZ0vOcxfiGUmC2UJ7TaBTEP6q0tfDb0Trn1+SEDnZn1TY WklhOrvFGtOs53h6azKWMku2TPnIhVDZiYmzVzJSmjOF0C2jwMkCGHrmYg1kLtmi90qO 6mmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765388516; x=1765993316; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2goikRA0uH9EsMTH56Ce5MDQxOtvzSF0lC5IxkqzaPE=; b=SWRoHl6DWvY+RExckbZqXnkZI35VREvo8cWDEetfgNnN2Gt4wwtyDMJd1KO21LjW7q QML9BOJAx75f53wmtw4aaK+/sjq/1yDq/0k0ibsybw84FxhdeS8gNktpedjiNgKT0LMT PJ2XuAuNMLvHnsAT+SqOR9gnc76Fm9ptxSK5qQvgevOUpl+PtbJ+5TOeXq7NeFzyJKhd KLAziWQOTV1cSM1bIqKDjhrOw1ylrfSAomWaB8TpBdnTmak3HZDeDM0woyIaWDBnQEkK 3Mf0/TavXrUTsjpdwYqobdnm7uROqiCfxF0bL5xzUXdpTvy/7jVdNLQuOM4nllDBqMIm RaYA== X-Forwarded-Encrypted: i=1; AJvYcCVM5SqTh8e9JO8s6CHcdrPwBuNjdMYHPEQJD2j9aPl2MeBAsS3yASjXVqNTjxVIFEBSHu9MhJp9XJpg0rea@lists.postgresql.org X-Gm-Message-State: AOJu0YxniQ0DDob4l8Z65RJoNPBK6j72Tgvu2uH3zNq6eE5eGLWpobXS 5YKz3DPrcx3CQ23HauMcbKbFtv+RLKq7UwzulZwRu7M+iakey4K+pA9ur/6ozcfJUgG32799VEQ wTAOwEHWG6JXXT0/p5eXNjPp394n2q92id6s9SsoT X-Gm-Gg: AY/fxX7Fh12SmUF7J6VrkBQkU0+//6CCZkcaZOZBmj2RRXH0DmmDcADk+/aeH1mIcCi qFMiZ0UNrrIkDdcWFFzs0EU8khnDxlJOXtvrRbidukYhBvENLXgaalAH/TeezO4Md+xkNSfTSU9 PKBgx4aKgJwJXhoDy1lxRUDHERji+e524tx5tQWEyqPd5wyvTr8F9x5BZNskr/qKBWd8gXIcvWP vaR1M016nxmar09STaRM4LC/lU10z3rsMdZDzvR9Cw1dvxSQPGXeTcHbDFS32KtQrRfefgPkA== X-Google-Smtp-Source: AGHT+IFjQV90eH9+twqAmRWgnhBavnHT8S6GfKSNneSp4Lwz4y29l0c6ZVDq7aPQ+3utLkWcTUzVj9IhTw2TKhH/QN4= X-Received: by 2002:ad4:5c6e:0:b0:888:3d3b:c9f8 with SMTP id 6a1803df08f44-88863ab341cmr51297196d6.32.1765388515865; Wed, 10 Dec 2025 09:41:55 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Jacob Champion Date: Wed, 10 Dec 2025 09:41:44 -0800 X-Gm-Features: AQt7F2quP6mbgT-EZhVNZeSd_DuukQ1l5rgV09iOSWeuXt0YRDxOlUS7lU_Wkdw Message-ID: Subject: Re: Proposal to allow setting cursor options on Portals To: Jelte Fennema-Nio Cc: Dave Cramer , PostgreSQL Hackers , Heikki Linnakangas Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, Dec 8, 2025 at 1:43=E2=80=AFPM Jelte Fennema-Nio wrote: > 1. We still have fairly limited experience with protocol options, so > afaik not everyone agrees what we should use a version bump for vs a > protocol extension. I think it'd be helpful for proposals to describe why a minor version bump was chosen over a protocol extension parameter (or vice versa), so that we can begin to develop some consensus. To me, the conversation on the wire for this feature seems perfect for an extension parameter: "Hello server, do you support this optional thing in this one message type? If not, let me know." Especially since the optional thing is itself an extensible bitmap! With the minor-version strategy, if we added new bits in 3.6, clients who just wanted those new bits would then have to implement support for every feature in versions 3.4, 3.5, and 3.6 just to improve that one use case, and that incentive mismatch leads to more ossification IMO. =3D Soapbox Follows =3D I've talked about it face-to-face with people, but to go on the public record: I don't think this is a wise use of a minor version upgrade strategy. I prefer protocol architectures that introduce separate extensions first, then periodically bundle the critical and highly-used extensions into a new minor version once they're sure that _everyone_ should support those things. I know that 3.2 didn't do that. My view of 3.2 is that it was a big compromise to get some things unstuck, so overall I'm glad we have it -- but now that we have it, I'd rather that 3.next be more intentional. Plus I think it's unwise to introduce a 3.3 before we're confident that 3.2 can be widely deployed, and I'm trying to put effort into the latter for 19, so that I'm not just sitting here gatekeeping. IETF has a bunch of related case studies [1,2,3] that might be useful reading, even if we decide that their experience differs heavily from ours. --Jacob [1] https://www.rfc-editor.org/rfc/rfc5218 [2] https://www.rfc-editor.org/rfc/rfc8170 [3] https://www.rfc-editor.org/rfc/rfc9170