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 1t5eQw-007VK9-7J for pgsql-hackers@arkaria.postgresql.org; Tue, 29 Oct 2024 05:06:22 +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 1t5eQt-00CSIP-E6 for pgsql-hackers@arkaria.postgresql.org; Tue, 29 Oct 2024 05:06:19 +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 1t5eQs-00CSIH-NM for pgsql-hackers@lists.postgresql.org; Tue, 29 Oct 2024 05:06:19 +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.94.2) (envelope-from ) id 1t5eQq-003XD9-I2 for pgsql-hackers@postgresql.org; Tue, 29 Oct 2024 05:06:18 +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=fJaN0IX+5lXB7j9unJ2cP/z/SL8pkWCKH+OLbXBrJlo=; b=4o0fPspyyip394mox3o7qYI6Mu nkgdFc9trgLlAnJYvpAZl9ba94wgsgUxOQ7k2EjkWCNafgJ+u2iSW1pquqO5yVCAp5MYRFzhHWRJB 5hT3UFmzRn7AfAsqvskIKGwlKk8WeGRvFzGXQIaDCf7/IotyIqAq8Y6nu0zb8a993UmiOniqmycfO d9fTBiE2bnG36NXAtgNFVZJw6LGG/xr/ThRHjOWYwzRfpxFQKh4+iTQKYCc7UBiHM0N9zzNbUHIVx r/SpWkUcq16te4j6VLzuJwK/C2hAI1IQDL0v/ZgmE5hk7aKRCne2+PNanZXmjiSHZPKBGqe884lMm QEG2PJyw==; Received: from [2409:11:4120:300:5728:4dd3:f78a:ec77] (helo=localhost) by meldrar.postgresql.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (Exim 4.94.2) (envelope-from ) id 1t5eQn-00DXDv-0i; Tue, 29 Oct 2024 05:06:16 +0000 Date: Tue, 29 Oct 2024 14:06:00 +0900 (JST) Message-Id: <20241029.140600.1382327295267983604.ishii@postgresql.org> To: peter@eisentraut.org Cc: pgsql-hackers@postgresql.org Subject: Re: protocol-level wait-for-LSN From: Tatsuo Ishii In-Reply-To: <8e6ba982-fd41-4779-8729-eb120df69ea0@eisentraut.org> References: <8e6ba982-fd41-4779-8729-eb120df69ea0@eisentraut.org> X-Mailer: Mew version 6.8 on Emacs 26.3 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2409:11:4120:300:5728:4dd3:f78a:ec77 (failed) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > The patch adds a protocol extension called _pq_.wait_for_lsn as well > as a libpq connection option wait_for_lsn to activate the same. (Use > e.g., psql -d 'wait_for_lsn=1'.) > > With this protocol extension, two things are changed: > > - The ReadyForQuery message sends back the current LSN. If other protocol extension X tries to add something to the ReadyForQuery message too, what would happen? Currently ReadyForQuery message is like this: Byte1('Z') Int32 Byte1 With the wait_for_lsn extension, It becomes: Byte1('Z') Int32 Byte1 String Suppose the X extension wants to extend like this: Byte1('Z') Int32 Byte1 Int32 It seems impossible to coexist both. Does this mean once the wait_for_lsn extension is brought into the frontend/backend protocol specification, no other extensions that touch ReadyForQuery cannot be defined? Best reagards, -- Tatsuo Ishii SRA OSS K.K. English: http://www.sraoss.co.jp/index_en/ Japanese:http://www.sraoss.co.jp