Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kQxbg-00020D-S2 for pgsql-hackers@arkaria.postgresql.org; Fri, 09 Oct 2020 18:59:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kQxbf-0005VP-PZ for pgsql-hackers@arkaria.postgresql.org; Fri, 09 Oct 2020 18:59:07 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kQxbf-0005V5-Ih for pgsql-hackers@lists.postgresql.org; Fri, 09 Oct 2020 18:59:07 +0000 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kQxbd-00025r-AC for pgsql-hackers@postgresql.org; Fri, 09 Oct 2020 18:59:06 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id A40DB5C0193; Fri, 9 Oct 2020 14:59:04 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Fri, 09 Oct 2020 14:59:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anarazel.de; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm2; bh=OuDjUlaSrs2p+rSE7wzclXZrK9i O4NLAKiSIJUZWFMM=; b=MxouG+1lJs3ZZU5DA0O0xEucmjhZXjBhzD24vTQHw/y Pg9OmUrpWidvu3CFbTiOUihbA5Zrr2RRk/E0AWgFF95nQkJPeItn/YT4x1XUD+a3 dkXVi/FTPE2T8HBVmpj1rRSaYAXxUpq/85Zt3UVZ+9Y4T6CGncxDsoZocvZS3D5y 3CUAyqYQBS2l0DyHGtVKLHF2Wg/L/pkoMKwtUzErr0pUPRyM0trD4lw6luXSkJpN zCXN654GjBQv0aZD9fAZZo6OtJgDBB9I3DzUTZE8g+zge35DtZFHgUXS9VNkQOnW ppQIpFfNwsB7HB0bAJPBCB//iRVIuWPNOtcO3FOylbw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=OuDjUl aSrs2p+rSE7wzclXZrK9iO4NLAKiSIJUZWFMM=; b=kPUwAXYGV481wR1sxy1eK7 jssqaW764cXZNU5C4bPaeqYWlzTuKObHVz/FX2hwtvIFlHF735MeOgEQGO7gzcMJ Cg3CfvBU+0eHLoGGsslpuR4D0vxldrI7HoGWbthpu9ublBkgbVDex0pbAbX2L4cS K2JMGL476EhSv4HIbAP8ExNpwSyHEYSbMdfvk8D0lJ1wyFQQZhR4UpbPu5RcceAw DRSfYJ2oqpBQh2HWH11j1cXRRQVdh2YL5hGngc+g1NR5RB/chy0asHmUB7A6Qbg7 HZiLocuTuSgIh65fuei203K5y6XkQQ33nfaKL3UaYhfxtBX5WjQmfAtgzRU2XE5Q == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrhedugddufeegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfhfgggtuggjsehttdertddttddvnecuhfhrohhmpeetnhgurhgv shcuhfhrvghunhguuceorghnughrvghssegrnhgrrhgriigvlhdruggvqeenucggtffrrg htthgvrhhnpedukefhkeelueegveetheelffffjeegleeuudelfeefuedtleffueejfffh ueffudenucfkphepieejrdduiedtrddvudejrddvhedtnecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomheprghnughrvghssegrnhgrrhgriigvlhdr uggv X-ME-Proxy: Received: from intern.anarazel.de (c-67-160-217-250.hsd1.ca.comcast.net [67.160.217.250]) by mail.messagingengine.com (Postfix) with ESMTPA id B5AD03280066; Fri, 9 Oct 2020 14:59:03 -0400 (EDT) Date: Fri, 9 Oct 2020 11:59:02 -0700 From: Andres Freund To: Dave Cramer Cc: Peter Eisentraut , pgsql-hackers Subject: Re: dynamic result sets support in extended query protocol Message-ID: <20201009185902.2hrednanwa7dxout@alap3.anarazel.de> References: <6e747f98-835f-2e05-cde5-86ee444a7140@2ndquadrant.com> <20201009184625.4hfgpcxzd6jfredb@alap3.anarazel.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Hi, On 2020-10-09 14:49:11 -0400, Dave Cramer wrote: > On Fri, 9 Oct 2020 at 14:46, Andres Freund wrote: > > > (I suspect what would be more useful in practice is to designate > > > output formats per data type.) > > > > Yea, that'd be *really* useful. It sucks that we basically require > > multiple round trips to make realistic use of the binary data for the > > few types where it's a huge win (e.g. bytea). > > > > Yes!!! Ideally in the startup message. I don't think startup is a good choice. For one, it's size limited. But more importantly, before having successfully established a connection, there's really no way the driver can know which types it should list as to be sent in binary (consider e.g. some postgis types, which'd greatly benefit from being sent in binary, but also just version dependent stuff). The hard part around this really is whether and how to deal with changes in type definitions. From types just being created - comparatively simple - to extensions being dropped and recreated, with oids potentially being reused. Greetings, Andres Freund